2023-03-22
自我提升
0

所有的数据类型
http://c.biancheng.net/view/2780.html
其他数据类型怎么使⽤

  • 整型
  • 浮点型
  • 字符型
  • 字符串型
  • 布尔类型
c#
byte int long sbyte a = 100; sbyte b = -100; int c = 2100000000; long d = 1234567891234567891; byte e = 30; c = a; a = (sbyte)c; Console.Write(a); //a = e; //e = a;

类型的显⽰转换和隐式转换
赋值的时候,两边类型是需要⼀致的,如果不⼀致的话,就需要转换类型。有些条件下,会⾃动进⾏转换,叫做隐式转换
有些情况下,需要我们告诉编译器进⾏类型转换,叫做显⽰转换,也叫做强制类型转换,强塞。

小数赋值需加 f

c#
float f = 4.5f; f = 2123456789; Console.WriteLine(f);

隐式转换 - 不需要写更多的代码,⾃动进⾏。
当⼩盒⼦放⼊⼤盒⼦的时候,肯定可以放得下,所有会⾃动进⾏转换。不需要做多余操作

类型可以安全的转换为
sbyteshort,int,long,float,double,或decimal
byteshort,ushort,int,uint,long,ulong,float,double,或decimal
shortint,long,float,double,或decimal
ushortint,uint,long,ulong,float,double,或decimal
intlong,float,double,或decimal
uintlong,ulong,float,double,或decimal
longfloat,double,或decimal
ulongfloat,double,或decimal
charushort,int,uint,long,ulong,float,double,或decimal
floatdouble

显⽰转换 - 需要写代码告诉转换成什么类型。

c#
byte a = 32; int b = 200; //b = a;// 隐式转换 //a = b;//显示转换 & Console.Write(a); int i = Convert.ToInt32("234"); double j = Convert.ToDouble("4.5");

把⼀个⼤盒⼦⾥⾯的东⻄放进⼩盒⼦的时候,编译器不确定能不能放得下,所以默认是不允 许放的,除⾮你告诉他 我⾮要放。
编译器只检查容器⼤⼩,不检查容器内的具体数值⼤⼩,为什么?因为变量⾥⾯的东⻄是变 化的,变量⾥⾯的值需要在程序运⾏的时候才确定下来。

类型的转换,得是同⼀类型,⽐如数字类型之间可以相互转换,但是我们不能把⼀个字符串转换成整数类型。但是如果要把⼀个数字字符串,转换成数字的话,我们是有对应的⽅法的。

image.png

同理,如何把⼀个数字转成数字字符串
1、Convert.ToString()
2、 number + "";

c#
string s = 123 + "";//"123" string s2 = Convert.ToString(123);//"123" // 8bit 8位 1位只能存储一个0或1