日期:2014-05-17  浏览次数:20884 次

求助,关于char
以前学过一点C++,这几天看C#的书,看到char这里开始晕了。
请问这个char在C#中的本质是个什么东东?
类型?类?结构?
如果char是一个类型 那么下列代码
char a='a';
Console.WriteLine(char.IsLetter(a));
中的IsLetter是什么意思?类型也可以方法吗?

------解决方案--------------------
是结构体,你可以在vs中,鼠标的光标放到IsLetter方法上,按F12就看到了char的类型。结构体也可以有方法。
------解决方案--------------------
1、public static bool IsLetter(char c); //这个方法是静态的,当然只能是char.IsLetter('')这样调用了。
2、结构体的实例当然能这样调用了。如果是静态的方法,还可以test.output();这样调用。

------解决方案--------------------
char既可以视作一个结构体,也可以视作本机数据类型中的一个字节或者一个双字节。
无论是当作结构体还是一个字节或两个字节,char作为值类型,经过装箱,都可以像一个对象一样拥有自己的方法。

总之,C#是一种面向对象的语言,char可以视作一个对象,int也可以。只是这些类型为本地运算做了优化,它们可以像C/C++一样直接视作一个简单数据类型进行操作。这种优化有一个名词,叫装箱/拆箱
------解决方案--------------------
int i = 1;
string s = i.ToString(); // 在C#中,一个整数(在语法上)都可以视作一个对象。
------解决方案--------------------
不经过装箱一样可以调用自己的方法,.net里面一切皆是对象。