8中整数类型sbyte byte short ushort int uint long ulong
2种用于科学计算的二进制浮点数类型 float double
1种用于金融计算的十进制浮点类型 decimal
1中布尔类型 bool
1中字符类型 string
直接将值放到源代码中称为硬编码,因为以后若是改了值,就必须重新编译代码,因为可能会为维护带来不便,所以开发者在硬编码的时候必须慎重,例如可以考虑从一个配置文件中获取值,这样修改值的时候就不需要重新编译代码了。
字面量的后缀不区分大小写,推荐大写。
如果要以十六进制形式输出一个数值,必须使用x或X数值格式说明符,大小写决定了十六进制字母的大小写。
Console.WriteLine("0x{0:x}",42);
int com = string.Compare("aaa", "AAA",true);//bool类型true表示不区分大小写,相等返回0,
在C#中在字符串序列前面加@表示转义序列不被处理,除了"
字符串方法:
静态:
string text;
string xing = "徐";
string ming = "海兴";
text = string.Format("我叫{0}{1}",xing,ming);//Format和Write方法相似,只不过不是在控制台输出,而是返回字符串中
Console.WriteLine(text);
text = string.Concat(xing, ming);
Console.WriteLine(text);
Console.WriteLine(string.Compare("aa","bb"));
非静态方法:
bool StartsWith(string value);
bool EndsWith(string value);
string ToLower();
string ToUpper();
string Trim();
string Trim(...);
string TrimEnd();
string TrimStart();
string Replace(string oldValue, string newValue);
换行符:
windows平台换行符为:\r\n
nuix使用单个\n
string属性Length,字符串长度是不可变的
C#3.0新增了上下文关键字var来声明隐式类型的局部变量:目的是支持匿名类型,匿名类型实在方法内部动态声明的数据类型,而不是通过显示的定义来声明的。如:
var patent1 =
new {Title = "Bifocals" ,YearOfPublication="1798"};
var patent2 =
new { Title = "Phonograph", YearOfPubliction = "1877" };
Console.WriteLine("{0}",patent1.YearOfPublication);
Console.WriteLine("{0}",patent2.Title);
值类型和引用类型。
一般不能将null赋值给引用类型,这是根据定义,值类型不能包含引用,即使是对“无”的引用,可以加?表示C#2.0引入int? i = null;