4.变量的更多内容

(一)显示类型转换

1.溢出检查

迫使系统特别注意运行期间的转换,对于为表达式设置所谓的溢出检测上下文,需要用到两个关键字checked和unchecked。

格式:

checked(<expression>)

unchecked(<expression>)

2.使用Convert命令进行显示转换

总是要进行溢出检测,checked和unchecked关键字以及项目属性设置不起作用。

特别地,两个short值相乘的结果是int值。

(二)复杂的变量类型

1.枚举

枚举允许定义一个类型,其取值范围是用户提供的值的有限集合。

定义枚举:

enum<typeName>
{
    <value1>,
    <value2>,
    <value3>,
    ...
    <valueN>
)

接着声明这个新类型的变量:

<typeName> <varName>;

并赋值:

<varName>=<typeName>,<value>;

枚举类型使用一个基本类型来存储。枚举类型可取的每个值都存储为该基本类型的一个值,默认情况下该类型为int。在枚举声明中添加类型,就可以指定其他基本类型:

enum<typeName>:<underlyingType>
{
    <value1>,
    <value2>,
    <value3>,
    ...
    <valueN>
}

枚举的基本类型可以是byte,sbyte,short,ushort,int,uint,long和ulong。

默认情况下,每个值都会根据定义的顺序(从0开始),自动被赋予对应的基本类型值。

还可以使用一个值作为另一个枚举的基础值,为多个枚举指定相同的值。

未赋值的任何值都会自动获得一个初始值,这里使用的值是从比上一个明确声明的值大1开始的序列。

类型转换:

1).把枚举值转换为其他类型

必须使用显式转换。

2).把其他类型转换成枚举值

必须使用显式转换。

3).获得枚举的字符串值

可使用Convert.ToString()。

可以使用变量本身的ToString()命令。

4).把string转换成枚举值

可以使用Enum.Parse()

用法:(enumerationType)Enum.Parse(typeof(enumerationType),enumerationValueString);

2.结构

每个成员的声明都采用如下形式:

<accessibility> <type> <name>;

3.数组

1).声明数组

<baseType>[] <name>

初始化:

以字面值形式指定数组 的完整内容。

指定数组的大小,再使用关键字new初始化所有数组元素,默认值为0,如果使用变量定义其大小,该变量必须是一个常量。

2).foreach循环

3).多维数组

声明数组:

<baseType>[,] <name>;

4).数组的数组(锯齿数组)

声明:

<baseType>[][] <name>;

初始化:

可以初始化包含其他数组的数组,然后依次初始化子数组。

使用字面值赋值的一种改进形式,如:

jaggedIntArray=new int[3][] {new int[]{1,2,3},new int[]{1},new int[]{1,2}};

int [][] jaggedIntArray={new int[]{1,2,3},new int[]{1},new int[]{1,2}};

可以对锯齿数组使用foreach循环,但通常需要使用嵌套的foreach循环才能得到实际数据。

(三)字符串的处理

string类型的变量可以看作char变量的只读数组。

为获得一个可写的char数组,可以使用数组变量的ToCharArray()命令:

string myString="A string";
char[] myChars=myString.ToCharArray();

myString.Length获取元素个数。

<string>.ToLower()把字符串转换为小写形式

<string>.ToUpper()把字符串转换为大写形式

<string>.Trim()删除字符串前后的空格

<string>.TrimStart()删除字符串前面空格

<string>.TrimEnd()删除字符串后面空格

<string>.PadLeft()在字符串左边添加空格,使字符串达到指定长度

<string>.PadRight()在字符串右边添加空格,使字符串达到指定长度

可以按第二种方式使用<string>.PadLeft()和<string>.PadRight(),即提供要添加到字符串上的字符。

发布了90 篇原创文章 · 获赞 48 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/Asher_S/article/details/89452955