C#基础入门 一

基本输入输出函数

  • 简单程序输出helloworld
using System;//引入System库
namespace MainClass
{
class MainClass
{
public static void Main(string[] args)
{
Console.WriteLine("hello world");//Console类的输出方法
}
}
}
  • Console.Write("{0} world",hello);等同于直接输出

  • 输入函数

    • Console.Read();//从标准输入流读取下一个字符
    • Console.ReadKey();//读取一个字符或功能键
    • Console.ReadLine();//从标准输入流读取下一行字符
public static void Main(string[] args)
{
string info= Console.ReadLine();
Console.WriteLine(info);
}

字符转换

  • 隐式转换:是一种安全类型的转换,不会导致数据丢失,不需要任何特殊的语法,由小到大时系统会自动的进行隐式转换。
int age=10;
double sum=age;
  • 强制转换:需要强制转换运算符,由大变小需要用,需要付出缺失精度的代价。
  • double→float:
double speed=10.4f;
float minSpeed=(float)speed;
  • string→int:
string num="123";
int n=int.Parse(num);
int m=Convert.ToInt16(num);

bool类型

  • bool数据类型:非真既假,在C#语言中,bool关键字是System.Boolean的别名,用于声明变量来存储布尔值true和false。C#中不存在bool类型与其他类型之间的相互转换。

关系运算符

  • 关系运算符:> >= < <= == !=
  • 主要用于比较运算,比较情况真假用bool类型变量存储。

逻辑运算符

  • &&(逻辑与):运算符两边表达式同时为真,结果为真;
  • ||(逻辑或):同时为假,结果为假;
  • !(逻辑非):将表达式的结果取反。

if语句

用法与C语言相同

条件运算符:条件表达式?表达式1:表达式2

例子:int c=a>b?a:b

  • 编一个简单地if语句的例子
namespace ConsoleApplication1Demo1
{
class MainClass
{ public static void Main(string[] args)
{
int num = Console.Read();
if (num > 10) { Console.WriteLine(num-10);}
else if(num>0){Console.WriteLine(num);}
else { Console.WriteLine(num + 10); }
}
}
}
  • 可以从下图看出(图1),结果不正确,但是感觉逻辑上没错误,仔细看了一下,read只能读下一个字符,但是换成readline也不对。其实走入了一个误区,总觉得定义了int型读入的就是int,字符串是无法隐式转换成int的,不管read还是readline,都要把字符型转为int型才能正常运算,所以要把int num = Console.Read();改为int num=Convert.ToInt16(Console.ReadLine());

  • 如下图,运行正确(图2)

switch语句

  • swich--开关,case--情况,case后面标签只能是整形常量或者整型常量表达式,不能是变量;整个default语句可以舍掉;多个case可以运行一个语句块。

is和as运算符

  • is:检查对象是否与给定类型兼容;
  • as:运算符类似于强制转换操作,用于检查在兼容的引用类型之间执行某些类型的转换,如果转换是不可能的,sa返回null而不引发异常。
  • 用法示例:
int a=12000;
int b=0;
if(a is int){
b=a;
Console.WriteLine(b); string a="b";
string b;
b=a as string;
Console.WriteLine(b);
}

C#基础入门 一的更多相关文章

  1. js学习笔记:webpack基础入门(一)

    之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...

  2. 「译」JUnit 5 系列:基础入门

    原文地址:http://blog.codefx.org/libraries/junit-5-basics/ 原文日期:25, Feb, 2016 译文首发:Linesh 的博客:JUnit 5 系列: ...

  3. .NET正则表达式基础入门

    这是我第一次写的博客,个人觉得十分不容易.以前看别人写的博客文字十分流畅,到自己来写却发现十分困难,还是感谢那些为技术而奉献自己力量的人吧. 本教程编写之前,博主阅读了<正则指引>这本入门 ...

  4. 从零3D基础入门XNA 4.0(2)——模型和BasicEffect

    [题外话] 上一篇文章介绍了3D开发基础与XNA开发程序的整体结构,以及使用Model类的Draw方法将模型绘制到屏幕上.本文接着上一篇文章继续,介绍XNA中模型的结构.BasicEffect的使用以 ...

  5. 从零3D基础入门XNA 4.0(1)——3D开发基础

    [题外话] 最近要做一个3D动画演示的程序,由于比较熟悉C#语言,再加上XNA对模型的支持比较好,故选择了XNA平台.不过从网上找到很多XNA的入门文章,发现大都需要一些3D基础,而我之前并没有接触过 ...

  6. Shell编程菜鸟基础入门笔记

    Shell编程基础入门     1.shell格式:例 shell脚本开发习惯 1.指定解释器 #!/bin/bash 2.脚本开头加版权等信息如:#DATE:时间,#author(作者)#mail: ...

  7. [Spring框架]Spring AOP基础入门总结二:Spring基于AspectJ的AOP的开发.

    前言: 在上一篇中: [Spring框架]Spring AOP基础入门总结一. 中 我们已经知道了一个Spring AOP程序是如何开发的, 在这里呢我们将基于AspectJ来进行AOP 的总结和学习 ...

  8. [Spring框架]Spring AOP基础入门总结一.

    前言:前面已经有两篇文章讲了Spring IOC/DI 以及 使用xml和注解两种方法开发的案例, 下面就来梳理一下Spring的另一核心AOP. 一, 什么是AOP 在软件业,AOP为Aspect ...

  9. RobotFramework - 基础入门

    Robot Framework Wiki HomePage Robot Framework User Guide Robot Framework documentation Robot Framewo ...

  10. .NET ORM 的 “SOD蜜”--零基础入门篇

    PDF.NET SOD框架不仅仅是一个ORM,但是它的ORM功能是独具特色的,我在博客中已经多次介绍,但都是原理性的,可能不少初学的朋友还是觉得复杂,其实,SOD的ORM是很简单的.下面我们就采用流行 ...

随机推荐

  1. Webstorm2018破解笔记

    参考链接: (1)https://www.jb51.net/softs/598714.html   过程步骤 (2)http://idea.lanyus.com/   IntelliJ IDEA 注册 ...

  2. Resetting the Root Password Using rd.break for RHEL7

    Start the system and, on the GRUB 2 boot screen, press the e key for edit. Remove the rhgb and quiet ...

  3. MySQL 主从同步失败,数据表修复

    问题描述: 接到报警称一台 MySQL 从库同步失败.登录服务器查看错误日志信息如下: Last_Error: Error 'Incorrect key file for table './bfcc/ ...

  4. 用Eclipse进行远程Debug代码

    在新的公司,由于项目很大,在本机运行会很慢,所以都是在本地开发,在远程虚拟机上运行.这样就让我痛苦了,我怎么在本地Eclipse上进行debug调试呢,但是在公司前辈的指导下让我知道了本地Eclips ...

  5. linux shell脚本编程笔记(二): 分支结构

    1.if if command then commands fi if command then commands else commands fi if command1 then command ...

  6. make: *** No rule to make target `build', needed by `default'. Stop.

    [root@xx nginx-1.8.0]# makemake: *** No rule to make target `build', needed by `default'.  Stop. [ro ...

  7. 钉钉开发笔记(三)MySQL的配置

    最近在编写web的过程中,经常需要与后台工作人员互动.由于比较麻烦.没有效率. 就果断的请教了,公司的后台大牛,学习下数据库的一些简单操作,现在就把利用MySQL连接服务器, 进行可视化操作的简单步骤 ...

  8. 解决table边框在打印中不显示的问题

    先了解一下,table边框如何设置 一.只对表格table标签设置边框 只对table标签设置border(边框)样式,将让此表格最外层table一个边框,而表格内部不产生边框样式.CSS代码: .t ...

  9. strlen头文件

    #include <string.h> 函数strlen strsep 等等

  10. sql复制表结构,复制表内容语句

    sql复制表结构,复制表内容语句 select * into b from a where 1<>1 select top 0 * into b from a insert into a ...