观前提醒
记录一些我不会或者少见的内容,不一定适合所有人
字符串拼接
int a=3,b=8;
Console.WriteLine(a+b);//11
Console.WriteLine("a+b");//a+b
Console.WriteLine(a+"+"+b);//3+8
Console.WriteLine("a+b"+a+b);//a+b38
Console.WriteLine("a+b"+(a+b));//a+b11
ASCII码:
char a='a';
int b=a;
Console.WriteLine(a);//a
Console.WriteLine(b);//97
强制类型转换
如果遇到的是值a
超出范围了,那么VS会提示报错,就是不容许你把一个大容器的水装入到小容器中,这会导致溢出。
所以就需要用到强制类型转换,但是精度会下降。
原则:int b=a;
左边值的容器大小
≥
\geq
≥ 右边值所需容器大小
所占字节大小(容器大小):byte,short,char < int < long <float <double
,byte
和short
参与运算会自动转换成int
接下来通过类似如下语句的写法展示大小
Console.WriteLine("{0}:\t 所占字节数: {1}\t 最小值:{2}\t 最大值:{3}\n",
typeof(byte).Name, sizeof(byte), byte.MinValue, byte.MaxValue);
注:
U
的意思是无符号SByte
数据类型可包含不需要Integer
的完整数据宽度甚至Short
的半数据宽度的整数值decimal
类型较于double
具有更高的精度和更小的范围Int16
是short
,Int32
是int
,int64
为long,Single
为float
测试用例:
int a=97;
char b=(char)a;
输出...
@
的妙用
作用1:不让转义字符生效
char a='\n';
char b='\\';
//方法一:
Console.WriteLine("\\a\\b");
//方法二:
Console.WriteLine(@"\a\b");
作用2:字符拼接但是换行!
与+
拼接字符串还是有些区别的
注:如果想要在拼接\a
与\b
字符中间插入"
,写法为@"\a""\b"
string str = @"\a
\b";
Console.WriteLine(str);
输入
Console.ReadLine()
:最终得到的是string类型
string a=Console.ReadLine();
如果想转换成其他类型,比如我输入整数,转成Int
类型
int b = Convert.ToInt32(Console.ReadLine());