记录一些小结和细节问题(看过的回答过的)
Q:字符串“supercalifragilisticexpialidocious”是因为太长了而不能放在string变量中吗?为什么?
A:string字符数是没有上限的,因为它可以使用可变大小的内存。
Q: &和&&的区别?
A: &和&&同样都是二元运算符,&的运算结果和&&是一样的,但得到结果的方式有一个重要的区别:&&其性能比较好,例如,var1=var2&&var3和var1=var2&var3同样都是检查第一个操作数的值,然后再根据该操作数的值进行操作,如果第一个操作数为true,&&就不用检查第二个操作数,也就是var3了,这就提高了运算效率的提高;“|”和“||”也差不多一个意思。
Q:强制类型转换
A: (destinationType)sourceVar ,把sourceVar的值转换为destinationType,例如:shortVal*(short)floatVal
Q:转义序列
A:变量的命名是有限制的,不能使用任意的字符序列;
在这里如果不使用转义序列 \” 就会出现错误。
Q:C# 编译器和 C++ 编译器输出之间的差异
A:作为调用 C# 编译器的结果,没有创建任何对象 (.obj) 文件;直接创建输出文件。因此,C# 编译器不需要
链接器。
Q:字符串“supercalifragilisticexpialidocious”是因为太长了而不能放在string变量中吗?为什么?
A:string字符数是没有上限的,因为它可以使用可变大小的内存。
Q: &和&&的区别?
A: &和&&同样都是二元运算符,&的运算结果和&&是一样的,但得到结果的方式有一个重要的区别:&&其性能比较好,例如,var1=var2&&var3和var1=var2&var3同样都是检查第一个操作数的值,然后再根据该操作数的值进行操作,如果第一个操作数为true,&&就不用检查第二个操作数,也就是var3了,这就提高了运算效率的提高;“|”和“||”也差不多一个意思。
Q:强制类型转换
A: (destinationType)sourceVar ,把sourceVar的值转换为destinationType,例如:shortVal*(short)floatVal
Q:转义序列
A:变量的命名是有限制的,不能使用任意的字符序列;
myString=“\“myInteger\“is“;
在这里如果不使用转义序列 \” 就会出现错误。
Q:C# 编译器和 C++ 编译器输出之间的差异
A:作为调用 C# 编译器的结果,没有创建任何对象 (.obj) 文件;直接创建输出文件。因此,C# 编译器不需要
链接器。