C#拾遗(一、基本类型)
1. C#是一种块结构语言,用花括号{}分块,但是用#region和#endregion来定义可以展开和折叠的代码区域
#region 这是引用区 using System; ...... #endregion
2. C#简单类型都是小写,bool,string类型要区别于Java的写法;float、decimal类型的变量值要加后缀f、m;uint、long、ulong等整型经测试可以省略啊。decimal用处就是精度大。
3. 输出使用占位符:Console.WriteLine("{0}{1}",myString,myInteger)。
4. 变量的首字符必须是字母,下划线(_)或@。不能是数字,这真是普遍真理。
5. switch语句的case如果没有break会报编译错误,不同于c++,没break会直接执行下一个case,c#进步了。
6. checked和unchecked关键字的用法,用于检查溢出,
byte bVar; short sVar = 288; bVar = checked((byte)sVar);//运行报错
7. 枚举类型。以下枚举类型定义的代码不能在函数内,不使用分号;
enum orientation : byte {
north = 1, south = 2, east = 3, west = 4 }
其他类型转换为枚举类型:
myString = "east"; orientation myort = (orientation)Enum.Parse(typeof(orientation),myString);//east myInt = 1; orientation myort2 = (orientation)myInt;//north
8. 结构用法:
struct route { public orientation ort; public double distance; } //使用 route myRoute; myRoute.ort = orientation.east; myRoute.distance = 100;
9. 数组。foreach与for的区别在于foreach是只读访问。
string[] myFriends = { "cc", "kk" }; foreach (string frd in myFriends) { Console.WriteLine("{0}", frd); }
多维数组,即矩形数组,每行元素个数相同:
int[,] hillHeight = new int[3, 4];//矩阵 int[,] hillWidth = { {1,2,3,4},{1,2,3,4},{4,3,2,1} };
数组的数组,又叫锯齿数组。
double[][] jaggedArray = new double[2][]; jaggedArray[0] = new double[3];//初始化子数组 jaggedArray[1] = new double[4]; double[][] jaggedArray2 = { new double[]{1,2,3}, new double[]{1}, new double[]{1,2} };
//下面方法是错误的,必须用上面的方式
double[][] jaggedArray3 = { { 1, 2, 3 }, { 1 }, { 1, 2 } };