C#数据类型转换大全
2、Value Type间的转换。
bool bo = true;
byte b = 9;
char c = 'a';
sbyte sb = 8;
short s = 8;
int i = 7;
uint u = 6;
long l = 5;
this.textBox1.Text = "datatype";
this.textBox1.AppendText("bool bo=" + bo.ToString() + ""n");
this.textBox1.AppendText("byte b= " + b.ToString() + ""n");
this.textBox1.AppendText("char c= " + c.ToString() + ""n");
this.textBox1.AppendText("sbyte sb= " + sb.ToString() + ""n");
this.textBox1.AppendText("short s= " + s.ToString() + ""n");
this.textBox1.AppendText("int i= " + i.ToString() + ""n");
this.textBox1.AppendText("uint u=" + u.ToString() + ""n");
this.textBox1.AppendText("long l= " + l.ToString() + ""n");
此段代码并没有转换数据类型,只说明它们的类型公别还是System.bool型…System.long型。
追加一行:int g = 1;
short h = g;
this.textBox1.AppendText("h = " + h.ToString() + ""n");
结果编译报错:
G:"Projects"Visual C#"Convert"Form1.cs(118): 无法将类型“int”隐式转换为“short”
数据要进行强制转换。
如上例修改如下:
short g = 1;
byte h = (byte) g; // 将 short 型的 g 的值强制转换成byte型后再赋给变量 h
this.textBox1.AppendText("h = " + h.ToString() + ""n");
就可以了!
Short->byte
short g = 265; //265 = 255 + 10
byte h = (byte) g;
this.textBox1.AppendText("h = " + h.ToString() + ""n");
注意:溢出问题!
3、ASCII<->Unicode
char ch = 'a';
short ii = 65;
this.textBox1.Text = "";
this.textBox1.AppendText("The ASCII code of "'" + ch + ""' is: " + (short)ch + ""n");
this.textBox1.AppendText("ASCII is " + ii.ToString() + ", the char is: " + (char)ii + ""n");
char name1 = '屈';
char name2 = '志';
short name3 = 21195;
this.textBox1.AppendText("The Unicode of "'" + name1 + ""' is: " + (short)name1 + ""n");
this.textBox1.AppendText("The Unicode of "'" + name2 + ""' is: " + (short)name2+ ""n");
this.textBox1.AppendText("Unicode is " + name3.ToString() + ", the name3 is: " + (char)name3 + ""n");
它的运行结果是
The ASCII code of 'a' is: 97
ASCII is 65, the char is: A
The Unicode of '屈' is: 23624
The Unicode of '志' is: 24535
Unicode is 21195, the name3 is: 勋











文章评论
共有 0 位网友发表了评论 此处只显示部分留言 点击查看完整评论页面