变量的介绍: .需要保存特定的值或计算结果时,需要用到变量Variable。
一、变量的命名
1.变量名以字母、数字、下划线组成。不包含空格、标点符号、运算符等其他符号。
2.变量名不能与C#中的关键字名称相同。
3.变量名最好以小写字母开头。
4.变量名应该具有含义,不建议乱编。
5.变量名应该遵循 驼峰命名法。 例如:footballTeamName
声明变量 : 必须先声明再使用。
常量: 固定不变的量。例如 圆周率。
二、C# 的数据类型
1.引用类型
1.1在内存中不直接存储引用类型的数据,而是存储该数据的地址,由此可以索引到所需的数据。
1.2引用类型包含类、接口、数组、字符串和委托等。
2.值类型
2.1 简单类型 : 整数类型、浮点类型、十进制类型、布尔类型、字符类型。
2.2 枚举类型
2.3 结构类型 采用struct 来声明。 例子: 通讯录。 每个联系人 都包含属性, 姓名、电话、邮箱、地址。
把一系列相关的变量组织成单一实体的过程, 称为 生成结构。
单一实体的类型,就称为 结构类型。
三.泛型 (C# 2.0)
ArrayList可以通过 Add 方法添加能转换成 object 的任何类型的值。但是每次添加的时候,都需要装箱。取出的时候都要拆箱,很损耗性能。(当编程遇到不可遇见性时,用ArrayList 来存储数值)
例如下面用 ArrayList 存储学生成绩:
ArrayList gradeList = new ArrayList();
gradeList.Add(95);
foreach (int grade in gradeList)
{ Console.WriteList(grade); }
泛型 是开发前已知道数值的类型。 避免装箱 拆箱。
如下面通过泛型 存储学生成绩。已知是整型类型。所以如下:
List<int> gradeList = new List<int>();
gradeList.Add(95);
foreach (int grade in gradeList)
{ Console.WriteList(grade); }
四、隐式类型局部变量 (C#3.0)
var 类型。 由编译器来确定类型,一定要初始化该变量,否则编译会报错。
初始化语句必须是表达式,不能为空,且编译时可以推断类型。
例子: var i = 12 :
var j = 3.1415926;
var k ="Hello World";
五、匿名类型
匿名类型是由一个或多个公共只读属性组成的类类型。
不能强制转换为除object以外的任何接口或类型。
一旦声明初始化,就不能修改。(只读)
常和var 配合使用来声明。
例子:
var v = new { ID =1 ,Name ="Adam", Message =" Hello Adam"};
六.类型转换
1.隐式类型转换 :不需要加以声明就可以进行的转换。 例如 从int 类型 转换成 long 类型。
(从低精度的数值类型 转换为 高精度的数值类型)
隐式数值转换、隐式枚举转换。
enum Season {Spring,Summer,Autumn,Winter}; //枚举 春夏秋冬
class Program
{
static void Main(string[] args)
{ Season currentSeason; currentSeason = 0; Console.WriteLine(currentSeason); // 输出结果是 Spring }
}
2.显示类型转换 : 又称为强制类型转换。 需要用户明确地制定转换的类型。
例如 : long a= 3000; int i = (int) a; //长整型转换为 整型。
显示枚举转换。 例子 略:
七、运算符和表达式
一元运算符(例如 ++,使当前操作数的值加1)、二元运算符(例如 乘法运算符)、三元运算符(只有条件运算符 ?:)。
条件运算符的例子 : 是否男士 ? 您好先生 : 您好女士
逻辑 与 AND 、或 OR、非 XOR
与运算符 & 与 条件运算符 &&
或运算符 | 或条 件运算符 ||
异或运算符 ^
两个等于号用来判断前后值之间是否相等 a==b 一个等于号用来赋值。 a=b
%符号 用于求余数。
位操作符 、 扩充后的赋值运算符 += -= *= /= %= 此处略
条件运算符 ?: