
C#提供一套预定义的结构类型叫做简单类型。简单类型用保留字定义,这些保留字仅仅是在System名字空间里预定义的结构类型的化名。比如int是保留字,System.Int32是在System名字空间中预定义类型。一个简单类型和它化名的结构类型是完全一样的,也就是说写int和写System。Int32是一样的。简单类型主要有整型,浮点类型,小数类型,布尔类型,字符型
C# 支持9中整型 sbyte,byte,short,ushort,int,uint,long,ulong和char
float和double
小数类型非常适用于金融和货币运算。数值范围从1.010 -28~7.9 10 28,精确到小数点后面28位。如果二元操作中的其中一个操作数是小数类型,那么另外一个从操作数是整型或小数类型。整型在运算前被转化为小数类型数。如果一个小数类型的算术运算产生了一个对于小数类型的格式来说太小的值,操作的结果将会变成0。如果一个小数类型的算术运算产生了一个对于小数类型的格式来说太大的值,就会触发溢出错误。小数类型较浮点类型而言,具有更大的精确度,但是数值范围相对小了很多。将浮点类型的数向小数类型的数转化时会产生溢出错误,将小数类型的数向浮点类型的数转化时会造成精确度的损失。因此,两种类型不存在隐式或显式转换。布尔型:值为true或false。没有标准能实现布尔类型和其他类型的转换。 1.2 枚举类型 枚举类型的元素使用的类型只能是long,int,short,byte。默认类型是int。默认第一个元素的值是0,每一个连续的元素按1递增。可以给元素直接赋值
enum monthnames
{
January=1,
February,
march=31
};
// 可以强制定义其他类型,如:
enum monthnames : byte
{
January,
February,
March
};
enum monthnames
{
January=1,
February,
march=31
};
// 可以强制定义其他类型,如:
enum monthnames : byte
{
January,
February,
March
};类类型,字符串类型,接口类型,代表类型和数组类型
字符串不可变性,当给一个字符串重新赋值之后,旧值并没有销毁
字符串可以看成是char类型的一个只读数组,只读(aaa[1]),想要改变字符串内容
string s = "abcdef";
s = "bbcdef"
char[] chs = s.toCharArray();
chs[0] = "b";
s = new string(chs);ArrayList 长度可以改变,类型不限制;取值要注意,取到的值都是Object需要利用里氏转换进行强制转换
ArrayList list = new ArrayList();List<int> list = new List<int>();foreach 遍历键值对
Hashtable ht = new Hashtable();
ht.Add(1, "aaa");
ht.Add(2, "aaa");
foreach(var item in ht.keys) {
}表示键和值的集合。提供一组键到一组值的映射。每次对字典的添加都包含一个值和与其关联的键
Dictionary<TKey, TValue> 是否包含指定的键Dictionary<TKey, TValue> 是否包含指定的值Dictionary<TKey, TValue>的枚举器// Dictionary<TKey, TValue>
Dictionary<int, string> dic = new Dictionary<int, string>();
dic.Add(1, "hello1");
dic.Add(2, "hello2");
dic.Add(3, "hello3");
dic[3] = "newhello3";
foreach(KeyValuePair<int, string> kv in dic)
{
Console.WriteLine("{0}---{1}", kv.Key, kv.Value);
}
foreach(var item in dic.Keys) {
Console.WriteLine("{0}---{1}", item, dic[item]);
}