Main方法
Main方法时程序的入口点,C#程序中必须包含一个Main方法,在该方法中可以创建对象和调用其他方法。Main方法都必须是静态的。
1、C#基本数据类型
值类型(值类型存放于栈内)
- 整型
- C#语言将整型分为byte、short、int 、long类型。byte占用1个字节,int占用4个字节,long占用8个字节;
2.浮点型
- float 单精度浮点型、保留7位小数,double 双精度浮点型 保留16位小数;
3.字符型和字符串类型
- 字符型只能放一个字符,放一个汉字,字符串是个引用类型,可以放没有限制的长度字符;
4.布尔型
- 它有两个值 即是true和false 表示是否
5.结构类型
一个结构包含多个基本类型(可以理解为一个对象),使用Struct关键字创建。跟类相比
- 结构占用栈内存,其操作效率高过类。
- 结构在使用完成后自动释放内存。
- 结构更容易赋值,使用=就可以了。
1 struct Books 2 { 3 public string title; 4 public string author; 5 public string subject; 6 public int book_id; 7 };
6.枚举类型
枚举其实是一个整数,用于定义一组基本整数的数据,给这组整数指定一个名字。
例如:性别这组数据,定义0,1 0指定是男,1指定是女;
1 public enum Sex 2 { 3 男 = 0, 4 女 = 1 5 }
引用类型(存放在堆内)
与值类型不同,引用类型存储的并不是真正的数值,而是数值地址的引用
举例理解:拿书
值类型:书架是容器,放的是书,你直接在书架就可以拿到书了
引用类型:电脑是容器,放的是书的编码及位置,你要在电脑拿到编码位置,去书架找对应的编码位置才拿到书。
引用类型一般引用到数组、对象等上
2、C#运算符
1、算述运算符
+ | 加法运算 |
- | 减法运算 |
* | 乘法运算 |
/ | 除法运算 |
% | 取余运算 |
注意点:
- 两个字符串使用运算符+ 例如 “12”+“1”结果是“121”(字符串连接),整型才是12+1结果13。
- 使用运算符/,如果两个操作数是整数,结果取整数,如果其中一个为浮点型,结果正常出发运算。
- 使用运算符%,如果两个操作数为整数,结果取余数,常可以用来判断某个数是否被整除。
【实例1】使用/和%运算符来取数字的千、百、位的值。

1 class Program 2 { 3 static void Main(string[] args) 4 { 5 Console.WriteLine("千位" +1234 / 1000); 6 Console.WriteLine("百位" + 1234 / 100 % 10); 7 Console.WriteLine("十位" + 1234 / 10 % 10); 8 Console.WriteLine("个位" + 1234 % 10); 9 } 10 }
2、逻辑运算符
运算符 | 含义 | 说明 |
---|---|---|
&& | 逻辑与 | 如果运算符两边都为 True,则整个表达式为 True,否则为 False;如果左边操作数为 False,则不对右边表达式进行计算,相当于“且”的含义 |
|| | 逻辑或 | 如果运算符两边有一个或两个为 True,整个表达式为 True,否则为 False;如果左边为 True,则不对右边表达式进行计算,相当于“或”的含义 |
! | 逻辑非 | 表示和原来的逻辑相反的逻辑 |
- 在使用逻辑运算符时需要注意逻辑运算符两边的表达式返回的结果都必须布尔类型。
3、比较运算符
运算符 | 说 明 |
---|---|
== | 表示两边表达式运算的结果相等,注意是两个等号 |
!= | 表示两边表达式运算的结果不相等 |
> | 表示左边表达式的值大于右边表达式的值 |
< | 表示左边表达式的值小于右边表达式的值 |
>= | 表示左边表达式的值大于等于右边表达式的值 |
<= | 表示左边表达式的值小于等于右边表达式的值 |
4、赋值运算符
运算符 | 说 明 |
---|---|
= | x=y,等号右边的值给等号左边的变量,即把变量 y 的值赋给变量 x |
+= | x+=y,等同于 x=x+y |
-= | x-=y,等同于 x=x-y |
*= | x*=y,等同于 x=x*y |
/= | x/=y,等同于 x=x/y |
%= | x%=y,等同于 x=x%y,表示求 x 除以 y 的余数 |
++ | x++ 或 ++x,等同于 x=x+1 |
-- | x-- 或 --x,等同于 x=x-1 |
- 需要注意的是,++和--运算符放在操作数前和操作数后是有区别的,如果放在操作数前,需要先将操作数加1或者减1,然后再与其他操作数进行运算;如果放在操作数后,需要先与其他操作数进行运算,然后操作数自身再加1。
5、位运算符
- 位运算包括 与、或、非、左移、右移
运算符 | 说 明 |
---|---|
& | 按位与。两个运算数都为 1,则整个表达式为 1,否则为 0;也可以对布尔型的值进行比较,相当于“与”运算,但不是短路运算 |
| | 按位或。两个运算数都为 0,则整个表达式为 0,否则为 1;也可以对布尔型的值进行比较,相当于“或”运算,但不是短路运算 |
~ | 按位非。当被运算的值为 1 时,运算结果为 0;当被运算的值为 0 时,运算结果为 1。该操作符不能用于布尔型。对正整数取反,则在原来的数上加 1,然后取负数;对负整数取反,则在原来的数上加 1,然后取绝对值 |
^ | 按位异或。只有运算的两位不同结果才为 1,否则为 0 |
<< | 左移。把运算符左边的操作数向左移动运算符右边指定的位数,右边因移动空出的部分 补 0 |
>> | 有符号右移。把运算符左边的操作数向右移动运算符右边指定的位数。如果是正值,左侧因移动空出的部分补 0;如果是负值,左侧因移动空出的部分补 1 |
>>> | 无符号右移。和 >> 的移动方式一样,只是不管正负,因移动空出的部分都补 0 |
- 赋值运算符
3、C#变量
- 定义
变量可以理解为存放数据的容器,数据是什么类型就给变量指定对于类型。
在定义变量是,首先先确认在变量存放的值是什么数据类型,然后再确认变量的内容,最后根据变量命名规则定义好变量名。
定义变量的语法如下。
数据类型 变量名;
- 赋值
赋值有两种方式,一种先定义再赋值、一种定义同时赋值。
数据类型 变量名 变量名=值 int number; number=1; 数据类型 变量名=值 int number=1
4、C#常量
- 定义
变量和常量都是用来存储数据的容器,区别是:变量(Varible)存的值是允许改变、而常量(Constant)存放的值不允许改变。
定义常量需要使用关键字const
具体语法形式如下
const 数量类型 常量名 =值
注意:定义常量是必须为其赋值,因为不赋值后面再也不能赋值了。
5、C#变量命名规则
常用命名方法两种,一种是pascal命名法(多为类命名,每个单词首字母大写)、另外一种是Camel命名法(多为变量命名、第一个单词小写,从第二个单词开始每个单词首字母大写)
简记:类名各首字母大写,变量名首字母小后面首大写
- 变量命名规则
尽量使用能描述变量作用的英文单词、变量长度不要过长,单词首字符大写。
- 常量命名规则
为了与变量有所区别,通常定义常量所有字母大写。
- 类的命名规则
类的命名规则遵循pascal命名法、每个单词首字母大写。
- 接口的命名规则
命名与类差不多,再在前面加一个“I”大写字母,标识接口。
- 方法的命名规则
命名与类差不多,一般采用动词来命名。