5.1 类型转换
1. 隐式转换:从类型A到类型B的转换可以在所有情况下由编译器转换
显式转换:从类型A到类型B的转换只能在某些情况下转换,进行额外处理。
2. 隐式类型转换规则:任何类型A,只要其取值范围完全包含在类型B中,就可以隐式转换为类型B
3. 强制转换:(<destinationType>)<sourceType>
4. 数值的有效表达方式:首先一个加号或减号后跟一位或多位数字,然后一个句点后一位或多位数字,接着一个e或E后跟一个可选符号和一位或多位数字,不再包含其他字符。如-1.2451e-24
5.2 复杂的变量类型
1. 枚举类型:其取值范围为用户提供的有限类型。
用enum关键字定义枚举:
enum<typeName>
{
<value1>,
...
<valueN>,
}
声明这个新类型的变量:
<typeName> <varName>
赋值:
<varName> = <typeName>.<value>
枚举可以定义数据基本类型,并赋给value实际值:
enum<typeName> : <underlyingType>
{
<value1>=<actualvalue1>,
<value2>,
<value3>,
<value4>=<actualvalue4>,
...
<valueN>
}
未赋值的value,其值会指定为上一个明确赋值的的actualvalue+1。即value2和value3的值相同,都为actualvalue1+1
2. 将string转换为枚举类型:Enum.Parse()
用法:(enumerationType) Enum.Parse(typeof(enumerationType), enumerationValueString);
3. typeof:得到操作数的类型
4. 结构(struct):由几个数据(可以是不同的类型)组成的数据结构,并定义自己的变量类型
struct <typeName>
{
<accessibility> <type> <name>;
}
5. 数组:
声明:<baseType>[] <name>;
数组初始化的两种方式:
(1)int[] inputArray = {, , , , };
(2)int[] inputArray = new int [5];
6. 变量名.length 来获取“变量名”中的元素个数
7. 用foreach来访问数组中的所有元素
foreach (<baseType> <name> in <array>)
{
//将array中的每个元素逐此放到name变量中
}
foreach循环对数组只能进行只读操作
8. 多维数组
声明:<baseType>[,] <name>
初始化方式:
(1)double [,] Sarray= { {1,2,3,4}, {1,2,3,4}, {1,2,3,4} };
(2)double [,] Sarray= new double[3,4];
访问其中的某一元素:Sarray[2,1]
9. 锯齿数组:每行数组元素个数不同,但为同一数据类型
声明:int[] [] jaggedArray;
5.3 字符串处理
1. 字符串转字符数组:字符串.ToCharArray()
char myChar = string1. ToCharArray();
2. 字符串转大写:<string>. ToUpper()
字符串转小写:<string>. ToLower()
删除字符串前后的空格:<string>. Trim()
删除字符串前后的空格:<string>. Trim()
删除字符串中的指定字符:<string>. Trim(trimarray) 其中trimarray为字符数组
为字符串添加空格,使字符串达到指定长度:<string>. PadLeft(desireLength) 和<string>. PadRight(desireLength)
添加指定字符到指定长度:<string>. PadLeft(desireLength, desireChar)
根据指定字符将字符串拆分为string数组:<string>. Split(separator)