常规字符串中有换行符等会执行,但逐字字符串不会看,给的什么就打印什么,用@修饰。
例如:
string rst3="Value 1\t 5,Val2\t 10"; //解释制表符转义字符串
string vst3=@"Value 1\t 5,Val2\t 10"; //不解释制表符
输出:
Value 15,Val2 10
Value 1 \t 5,Val2 t 10
string rst4="C:\\Program Files\\Microsoft\\";
string vst4=@"C:\Program Files\Microsoft\";
输出:
C:\Program Files\Microsoft\
C:\Program Files\Microsoft\
string rsts="Print \xoooA Multiple \uoooA Lines"; // 000A如上表就是换行符
输出:Print
Multiple
Lines
string rst2="It started,\"Four score and seven...\""; // 字符串中再引用“”,需利用\"
string vst2=@"It started,""Four score and seven...""; //逐字字符串 完全按照引号里面的打印,除了相邻的两个引号代表一个引号。
输出:
It started,"Four score and seven..."
It started,"Four score and seven..."
带有关系或相等运算符的二元表达式返回bool类型的值。
在C和C++中while(3)和if(3)是对的,但C#就不对(在C#中数字不具有布尔意义)。
按照我之前的想法应该是x=5,y=6. 应该是变量的值加1并保存返回变量递增之前的旧值
我们读取的十进制是根据原码来读取,而在内存中,数值都是以二进制补码形式保存的。
负数的原码转补码或者补码转原码的规则:
符号位不变,将剩余位取反,得到反码,在反码的基础上最后一位加一得到负数的补码。
按位非:就是将一个数按位取反后,再求反码的原码。(去反后跟一个数的补码相等,结果就是这个数)
这里~2的反码应该是11111100.
取非操作,可以简单的理解为该值取负值后减1例如:
~5=-5-1=-6
~-5=5-1=4
~4=-4-1=-5
正数原码=反码=补码
负数反码:符号位不变,其他位取反 。 补码:反码加一
do
while(); 先执行内容,再判断条件。
C#中在for循环体内部声明的变量只能在循环体内部使用(可以在不同for中声明i)。