类型转换
隐式转换:
规则:任何类型A,只要其取值范围安全包含在类型B的取值范围内,就可以隐式转换为类型B。
强制转换:
彼此之间几乎没有什么关系的类型或根本没有关系的类型不能进行强制转换。
表达式的溢出检查上下文:checked和unchecked
例:
int value = 340;
checked((byte)value);
使用Convert命令进行显示转换
例:
Convert。ToDouble();
对于Convert转换,它总是要进行溢出检查,checked和unchecked关键字以及项目属性设置不起作用。
复杂的变量类型:
枚举:包含一组离散值的类型,枚举有基本的数值类型(默认是int)
例:enum orientation : byte
{
north = 1,
south = 2,
east = 3,
west = 4
}
typeof():得到操作数的类型。
结构:是同时包含几个不同的值的类型。
struct
数组:是同类型数值的集合
一维数组:int[]
多维数组:(矩形数组)int[,]
数组的数组:(锯齿数组)int[][]
foreach循环:
foreach(<baseType> <name> in <array>)
和标准的for循环的主要区别在于:foreach循环对数组内容进行只读访问,所以不能改变任何元素的值。
字符串的处理:
string类型变量可以看作是char变量的只读数组。
string.TOCharArray():获得一个可写的char数组
string.Length:获取元素的个数
string.ToLower():把字符串转换为小写(有空格时无效)
string.ToUpper():把字符串转换为大写(有空格时无效)
string.Trim():删除前后空格。(string.Trim(char[] trimChars):可以指定删除的元素)
string.TrimStart():删除前空格(可以指定删除元素)
string.TrimEnd():删除后空格(可以指定删除元素)
string.PadLeft(int length):左边添加空格,添加空格的个数为:length-string.Length
string.PadLeft(int length,char addChar):左边添加addChar,添加addChar的个数为:length-string.Length
string.PadRight(int length):右边添加空格,添加空格的个数为:length-string.Length
string.PadRight(int length,char addChar):右边添加addChar,添加addChar的个数为:length-string.Length
string.Split(char[] splitChar):根据分割符,把字符串转化为字符串数组,在使用split()时,删除了分隔符