2.3 变量规则

  声明变量并不是随意声明的,变量的声明有自己的规则。在C#中,应用程序包含许多关键字,包括int等是不能够声明为变量名的,如int int是不允许的,在进行变量的声明和定义时,需要注意变量名称是否与现有的关键字重名。

2.3.1 命名规则和命名习惯
  命名规则就是给变量取名的一种规则,一般来说,命名规则就是为了让开发人员给变量或者命名空间取个好名,不仅要好记,还要说明一些特性。在C#里面,有常用的一些命名的习惯如下。
? Pascal大小写形式:所有单词的第一个字母大写,其他字母小写。
? Camel大小写形式:除了第一个单词,所有单词的第一个字母大写,其他字母小写。

  当然,在其他编程中,不同的开发人员可能遇到了一些不一样的命名规则和命名习惯,但是在C#中,推荐使用常用的一些命名习惯,这样能保证代码的优雅性和可读性。同时,也应该避免使用相同名称的命名空间或与系统命名相同的变量,如以下代码所示:
+展开
-C#
string int;//系统会提示出错

  运行上述代码时系统会提示错误,因为字符串“int”是一个关键字,当使用关键字做变量名时,编译器会混淆该变量是变量还是关键字,所以系统会提示错误。所以,在变量声明时应该避免变量名称与关键字重名,如果变量名称与关键字重名,编译器就会报错,C#中常用的关键字如表2-2所示:
表2-2 不应使用的关键字名称
AddHandler AddressOf Alias And Ansi As
Assembly Auto BitAnd BitNot BitOr BitXor
Boolean ByRef Byte ByVal Call Case
Catch CBool CByte CChar CDate CDec
CDbl Char CInt Class CLng CObj
Const CShort CSng CStr CType Date
Decimal Declare Default Delegate Dim Do
Double Each Else ElseIf End Enum
Erase Error Event Exit ExternalSource False
Finally For Friend Function Get GetType
Goto Handles If Implements Imports In
Inherits Integer Interface Is Let Lib
Like Long Loop Me Mod Module
MustInherit MustOverride MyClass Namespace MyBase New
Next Not Nothing NotInheritable NotOverridable Object
On Option Optional Or Overloads Overridable
Overrides ParamArray Preserve Private Property Protected
Public RaiseEvent ReadOnly ReDim Region REM
RemoveHandler Resume Return Select Set Shadows
Shared Short Single Static Step Stop
String Structure Sub SyncLock Then Throw
To True Try TypeOf Unicode Until
Variant When While With WithEvents WriteOnly
Xor eval extends instanceof package var

  注意:标识符、参数名、函数名都不需要使用缩写。如果要使用缩写,超过两个字符以上的缩写都应该使用Camel大写格式。

2.3.2 声明并初始化变量
  在程序代码编写中,需要大量的使用变量和读取变量的值,所以需要声明一个变量来表示一个值。这个变量可能描述是一个人的年龄,也可能是一辆车的颜色。在声明了一个变量之后,就必须给这个变量一个值,只有在给变量值之后能够说明这个变量被初始化。

1.语法
  声明变量的语法非常简单,即在数据类型之后编写变量名,如一个人的年龄(age)和一辆车的颜色(color),声明代码如下所示。
+展开
-C#
            int age;//声明一个叫age的整型变量,代表年龄
            string color; //声明一个叫color的字符串变量,代表颜色

  上述代码声明了一个整型变量age和一个字符串型变量color,由于年龄的值不会小于0也不会大于100,所以在声明时可以使用数字类型进行声明。

2.初始化变量
  变量在声明后还需要初始化,例如“我年龄21岁,很年轻,我想买一辆红色的车”,那么就需要对相应的变量进行初始化,示例代码如下所示。
+展开
-C#
            int age;//声明一个叫age的整型变量,代表年龄
            string color; //声明一个叫color的字符串变量,代表颜色
            age = 21;//声明始化,年龄21岁
            color = "red";//声明始化,车的颜色为红色

上述代码也可以合并为一个步骤简化编程开发,示例代码如下所示。
+展开
-C#
            int age=1;//声明并初始化一个叫age的整型变量,代表年龄
            string color="red";//声明初始化

3.赋值
  在声明了一个变量之后,就可以给这个变量赋值了,但是当编写以下代码就会出错,示例代码如下。
+展开
-C#
            float a = 1.1;//错误的声明浮点类型变量

  当运行了以上代码后会提示错误信息:不能隐式地将 Double 类型转换为“float”类型;请使用“F”后缀创建此类型。从错误中可以看出,将变量后缀增加一个“F”即可,示例代码如下所示。
+展开
-C#
            float a = 1.1F;//正确的声明浮点类型变量

  运行程序,程序就能够编译并运行了。这是因为若无其他指定,C#编译器将默认所有带小数点的数字都是Double类型,如果要声明成其他类型,可以通过后缀来指定数据类型,如表2-3将展示一些可用的后缀,并且后缀可用小写。

表2-3 可用的后缀表
后缀 描述
U 无符号
L 长整型
UL 无符号长整型
F 浮点型
D 双精度浮点型
M 十进制
L 长整型

4.转义字符
  在开发过程当中,如果需要将单引号或者双引号输出,或将单引号等字符作为字符串输出,就会发现在字符串中单引号或者双引号等字符是不能直接进行输出呈现。为了解决这一问题,于是引入了转义字符,常用的转义字符表如表2-4所示。
表2-4 转义字符表
换码序列 字符名称
\’ 单引号
\” 双引号
\\ 反斜杠
\0 空字符
\a 警报符
\b 退格
\f 换页
\n 换行
\r 回车
\t 水平制表符
\v 垂直制表符

  若在应用程序开发过程中,需要在程序里的字符串中编写一个双引号并进行输出,可以使用转义字符进行输出,示例代码如下所示。
+展开
-C#
string str=”this is \” ”;//使用转义字符

6.设置断点
  在Visual Studio .NET开发环境中,为用户提供了在开发应用程序时查看变量值的工具,只需要在查看的变量上设置断点,以调试模式运行应用程序,就可以在调试窗口中查看变量的值。在代码编辑窗口单机左边的空白处可直接设置断点。断点以红色圆点标识。也可以在调试菜单中单击【切换断点】按钮,或使用快捷键【F9】键来设置断点,如图2-2所示。

设置断点


图2-2 设置断点

  按下【F5】键或在菜单栏中的调试菜单中单击【启动调试】按钮都可以运行程序。当程序开始运行,程序从Main入口运行并直至遇到断点,遇到断点后程序将停止运行,如图2-3所示。同时开发环境会高亮显示下一条即将执行的代码,同时调试查看窗口会显示,并呈现变量的当前值,如图2-4所示,。

运行到断点,提示下一步执行的代码


图2-3 运行到断点,提示下一步执行的代码

显示当前值

图2-4 显示当前值

  在调试完成后,可以通过快捷键【Shift+F5】停止调试,也可以在菜单栏中的【调试】菜单里的【停止调试】选项中停止应用程序的调试。如果需要继续执行,可以按下【F5】键或在调试菜单中选择【继续执行到下一个断点】选项进行执行。开发人员还可以通过使用快捷键【F10】,或在调试菜单中选择【逐过程】或【逐语句】每次只执行一条语句,方便对代码中变量变化的查看。

2.3.3 数组
  数组是一个引用类型,开发人员能够声明数组并初始化数据进行相应的数组操作,数组是一种常用的数据存放方式。
1.数组的声明
数组的声明方法是在数据类型和变量名之间插入一组方括号,声明格式如下所示。
+展开
-C#
 string[] groups;//声明数组

  以上语句声明了一个变量名为groups的数组,其数据类型为string。声明了一个数组之后,并没有为此数组添加内容初始化,需要对数组初始化,才能使用数组。

2.数组的初始化
  开发人员可以对数组进行显式的初始化,以便能够填充数组中的数据,初始化代码如下所示。
+展开
-C#
string[] groups={"asp.net","c#","control","mvc","wcf","wpf","linq"};//初始化数组

值得注意的是,与平常的逻辑不同的是,数组的开始并不是1,而是0。以上初始化了groups数组,所以groups[0]的值应该是“asp.net”而不是“c#”,相比之下,group[1]的值才应该是“c#”。

3..NET中数组的常用的属性和方法
  在.NET中,.NET框架为开发人员提供了方便的方法来对数组进行运算,专注于逻辑处理的开发人员不需要手动实现对数组的操作。这些常用的方法如下所示。
? Length方法用来获取数组中元素的个数。
? Reverse方法用来反转数组中的元素,可以针对整个数组,或数组的一部分进行操作。
? Clone方法用来复制一个数组。
对于数组的操作,可以使用相应的方法进行数据的遍历、查询和反转,示例代码如下所示。
+展开
-C#
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;//声明文本命名空间
namespace myArray主应用程序类
{
    class Program
    {
        static void Main(string[] args)
        {
            string[] groups={"asp.net","c#","control","mvc","wcf","wpf","linq"};//初始化一个数组
            int count = groups.Length;//获取数组的长度
            Console.WriteLine("------------------------数组长度--------------------------");
            Console.WriteLine(count.ToString());//输出数组的长度
            Console.WriteLine("-----------------------原数组元素值--------------------------");
            for (int i = 0; i < count; i++)//遍历输出数组元素
            {
                Console.WriteLine(groups[i]);//输出数组中的元素
            }
        }
    }
}

按F5运行后运行结果如图2-5所示。

数组运行结果

图2-5 数组运行结果
从上述结果中可以看出,程序遍历了数组并将数组的内容全部输出。在进行数组中的内容输出时,需要使用循环语句进行输出数组的遍历和输出,循环语句的用法会在后面讲解。

2.3.4 声明并初始化字符串
  字符串是计算机应用程序开发中常用的变量,在文本输出、字符串索引、字符串排序中都需要使用字符串。
1.声明及初始化字符串
  字符串类型(string)是程序开发中最常见的数据类型,如上一小节声明的数组中的任意一个元素都是一个字符串。由于数组也是有其数据类型的,所以声明的数组是一个字符串型的数组。字符串的声明方式和其他的数据类型声明方式相同,字符串变量的值必须在“”双引号之间,示例代码如下所示。
+展开
-C#
string str="Hello World!";//声明字符串

  在2.3.2中讲解了转义字符,当开发人员试图在字符串中间输入一些特殊符号的时候,会发现编译器报错,示例代码如下所示。
+展开
-C#
string str="Hello "World!";

  在Visual Studio 2008中编写上述代码,会发现褐色的字符串被分开了,并且编译器报错“常量中有换行符”,因为字符串中的““”符号被当成是字符串的结束符号。为了解决这个问题,就需要用到转义字符。示例代码如下所示。
+展开
-C#
string str="Hello \"World!";//使用转义字符

 

编译并运行,运行结果如图2-6所示。

使用转义字符初始化字符串
图2-6 使用转义字符初始化字符串

  在程序中的开发中,经常需要引用和打开某个文件,打开文件的操作必须要引用文件夹的地址。例如要打开我的文档里的内容,就必须在地址栏敲击D:\Users\Administrator\Documents,在编写程序的时候,“\”字符却无法编写在字符串中,同样也需要转义字符,示例代码如下所示。
+展开
-C#
            string str="D:\\Users\\Administrator\\Documents";//使用转义字符

编译并运行,运行结果如图2-7所示。

使用转义字符初始化字符串

图2-7 使用转义字符初始化字符串

2.使用逐字符串
  如果字符串初始化为逐字符串,编译器会严格的按照原有的样式输出,无论是转义字符中的换行符还是制表符,都会按照原样输出。逐字符串的声明只需要在双引号前加上字符“@”即可,示例代码如下所示。
+展开
-C#
string str=@"文件地址:D:\Users\Administrator\Documents \t";//逐字符串


编译并运行上述代码,输出结果


 

使用逐字符串

图2-8 使用逐字符串
  但是对于双引号而言,逐字符串依旧无法正确进行输出。若要使用逐字符串进行双引号的输出,则必须使用引号进行编写以便正确的输出双引号,示例代码如下所示。

+展开
-C#
string str=@"""";//输出双引号

编译并运行,运行结果如图2-9所示。

逐字符串输出双引号

图2-9 逐字符串输出双引号

3.字符串格式化
  在字符串操作时,很多地方需要用到字符串格式化,使用Console.WriteLine方法就能够实现字符串格式化,字符串格式化代码如下所示。
+展开
-C#
            string str = "Guojing";//声明字符串
            Console.WriteLine("Hi! Myname is {0},I love C#",str);//字符串格式化输出
            Console.ReadKey();//等待用户按键

运行上述代码,其结果如图2-10所示。

字符串格式化

图2-10 字符串格式化
  可以从运行结果看出,Console.WriteLine方法中,前一个传递的参数中的{0}被后一个传递的参数str替换。例子中的“{0}”被称为占位符,用于标识一个参数,括号中的数字指定了参数的索引。同时,输出方法也可以格式化多个字符串,示例代码如下所示。
+展开
-C#
            string str = "Guojing";
           string str2 = "C#";
           Console.WriteLine("Hi! Myname is {0},I love {1}",str,str2);//格式化多个字符串输出

运行结果如图2-11所示。

多个占位符格式化字符串

图2-11 多个占位符格式化字符串

2.3.5 操作字符串
  在C#中,为字符串提供了快捷和方便的操作,使用C#提供的类能够进行字符串的比较、字符串的连接、字符串的拆分等操作,方便了开发人员进行字符串的操作。
1.比较字符串
如果需要比较字符串,有两种方式,一种是值比较,一种是引用比较。值比较可以直接使用运算符“==”进行比较,示例代码如下所示。
+展开
-C#
            string str = "Guojing";//声明字符串
            string str2 = "C#"; //声明字符串
            if (str == str2)//使用“==”比较字符串
            {
                Console.WriteLine("字符串相等");//输出不相等信息
            }
            else
            {
                Console.WriteLine("字符串不相等");//输出相等信息
            }

  当判断两个字符串是否指向同一个对象时,可以使用Compare方法判定两个字符串是否指向同一个对象,示例代码如下所示。
+展开
-C#
            string str = "Guojing";//声明字符串
            string str2 = "C#";//声明字符串
            if (str.CompareTo(str2) > 0)//使用Compare比较字符串
            {
                Console.WriteLine("字符不串相等");//输出不相等信息
            }
            else
            {
                Console.WriteLine("字符串相等"); //输出相等信息
            }

编译上述代码并运行,其结果如图2-12所示。

比较字符串

图2-12 比较字符串
  在上述代码运行后,如果字符串不相等,则输出“字符串不相等”字符,否则会输出“字符串相等”。

2.连接字符串
  当一个字符串被创建,对字符串的操作的方法实际上是对字符串对象的操作。其返回的也是新的字符串对象,与int等数据类型一样,字符串也可以使用符号“+”进行连接,代码如下所示。
+展开
-C#
            string str = "Guojing is A C# ";//声明字符串
            string str2 = "Programmer";//声明字符串
            Console.WriteLine(str+str2);//连接字符串

  在上述例子中,声明并初始化两个字符串型变量str和str2,并输出str+str2的结果,运行结果如图2-13所示。

字符串连接

图2-13 字符串连接
同样的,str和str2也可以为新的字符串赋值,代码如下所示。
+展开
-C#
            string mystr = str + str2;//连接字符串
            Console.WriteLine(mystr);//输出字符串


  上述代码运行结果同样如图2-13所示,这里就不再运行演示。

  注意:在上述代码中,mystr被初始化str和str2的“和”,但是在运算过程当中,str和str2的值都没有被改变。

3.拆分字符串
  能够连接一个字符串,同样也可以拆分一个字符串。.NET Framework提供了若干方法供拆分字符串,示例代码如下所示。
+展开
-C#
            string str = "Guojing is A C# Programmer";//声明字符串
            Console.WriteLine(str.IndexOf("is").ToString());//拆分字符串
            Console.ReadKey();

  编译运行后,可以看到返回的结果是8,说明is是字符串从开始第8位才找到is,若搜索不到查询的字符串,则返回-1。当字符串拆分成子字符串之后,可以通过Split方法对字符串进行分割,代码如下所示。
+展开
-C#
            string str = "BeiJing,Shanghai,GuangZhou,WuHan,ShenYang";//初始化字符串
            string[] p = str.Split(','); //使用Split方法分割并存入数组
            for (int i = 0; i < p.Length; i++) //遍历显示
            {
                Console.WriteLine(p[i]);//输出字符串
            }


  上述代码第一句声明并初始化了一个字符串,第二句使用Split函数按照逗号来分割字符串,并存入到数组p内,然后遍历显示数组元素。

注意:使用Split函数的时候,通常情况下只能使用字符对字符串进行分割,所以使用的是单引号。

4.更改字符串大小写
  在.NET中,系统为开发人员提供了将字符串更改为大写或小写的方法,这两个方法分别为ToUpper()和ToLower()。使用该方法能够进行字符串的大小写转换,示例代码如下所示。
+展开
-C#
            string str = "BeiJing,Shanghai,GuangZhou,WuHan,ShenYang";//声明字符串
            Console.WriteLine(str.ToUpper());//转换成大写
            Console.WriteLine(str.ToLower());//转换成小写
            Console.ReadKey();//等待用户输入


5.常用的字符串操作
  在C#软件开发过程,字符串是使用率最高的数据类型之一,开发人员往往需要对字符串进行大量的操作。这里介绍一些经常使用的字符串操作如判断字符串是否为空,替换字符串中相应的字符等等。判断字符串是否为空会经常在程序中使用,以保证用户输入的完整性,示例代码如下所示。
+展开
-C#
            string str = "BeiJing,Shanghai,GuangZhou,WuHan,ShenYang";//声明字符串
            if (String.IsNullOrEmpty(str))//使用String类的静态方法
            {
                Console.WriteLine("字符串为空"); //输出字符串为空的信息
            }
            else
            {
                Console.WriteLine("字符串不为空");//输出字符串不为空的信息
            }

  当需要对字符串执行替换操作时,可以使用Replace方法进行字符串的替换,示例代码如下所示。
+展开
-C#
            string str = "BeiJing,Shanghai,GuangZhou,WuHan,ShenYang";//声明字符串
            str = str.Replace("ShenYang""ShanXi");//使用Replace方法
            Console.WriteLine(str);//输出字符串

  大多数应用程序都是对字符串进行操作,这里简单的介绍几种常用的字符串的操作,熟练掌握字符串的操作对应用程序开发有很大的好处。

2.3.6 创建和使用常量
  常量是一般在程序开发当中不经常更改的变量,如π值、税率或者是数组的长度等。使用常量一般能够让代码更具可读性、更加健壮、便于维护。在程序开发当中,好的常量使用技巧对程序开发和维护都有好的影响,示例代码如下所示。
+展开
-C#
        const double pi=3.1415926;//常量pi,π
        static void Main(string[] args)//程序入口方法
        {
            double r=2; //声明double类型常量
            double round = 2 * pi * r * r;//使用常量
            Console.WriteLine(round.ToString());//输出变量值
            Console.ReadKey();//等待用户输入
        }

  上述代码非常简单,就是计算一个圆的圆周率。当代码非常长的时候,程序也会非常干练,容易阅读,如果在程序中出现了以下代码,也能够理解该表达式的作用。示例代码如以下所示。
+展开
-C#
            double Perimeter = 2 * pi * r;//使用常量

  就算是其他的开发人员阅读到上述代码,也能够轻易的了解该语句的作用就是求圆的周长,因为在前面定义了常量pi=3.1415926;当程序中用到这个变量的时候,立刻就能够知道程序的作用。声明变量的方法,只需要在普通的变量格式前加上const关键字即可,声明代码如下所示。
+展开
-C#
        const double pi=3.1415926;//声明const变量
        const int max = 500;//声明const变量
        const long kilometer = 1000;//声明const变量

  使用const声明的变量能够在程序中使用,但是值得注意的是,使用const声明的变量不能够在后面的代码中对该变量进行重新赋值。

注意:使用const声明的变量如果在后面的代码中进行重新赋值或更改,则编译器会提示错误。const修饰符通常用于不常更改的变量的修饰。

2.3.7 创建并使用枚举
  枚举类型是一组已命名的常量,它是一种用户自定义类型,开发人员可以自行创建枚举类型,声明枚举变量并初始化。枚举变量和普通的变量相比,确保了只将预定的值赋予变量,让代码更加容易维护。在编写代码的时候,允许以简单容易辨认的名字作为变量名,使代码更具有可读性。同时,如果开发人员声明枚举变量,Visual Studio 2008还能够提供的智能感知功能够让代码更加方便的输入。

1.声明及初始化枚举
  如果需要创建枚举类型,就需要使用enum关键字,指定一个类型名称,如int等,然后列举出枚举可以使用的值,示例代码如下所示。
+展开
-C#
        enum color {red,yellow,green,blue};//声明枚举

  上述代码创建了一个color类型,然后声明了这个类型的变量,并使用枚举成员赋值,示例代码如下所示。
+展开
-C#
class Program
    {
        enum color {red,yellow,green,blue};//声明枚举
        static void Main(string[] args)//主程序入口方法
        {
            Console.WriteLine(color.green);//查看枚举成员变量green
            Console.ReadKey();//等待用户按键
        }
    }

  编译并运行上述代码,其输出结果为green,说明在程序中已经对枚举变量中的成员初始化了。

2.使用枚举类型
  枚举是用户自定义类型,所以在程序中可以引用用户的自定义类型进行自定义类型的变量的创建,示例代码如下所示。
+展开
-C#
            color mycolor = color.green;//使用枚举类型


注意:枚举类型的定义只能在命名空间或类内声明,否则编译器会报错。

4.枚举成员的赋值和常用类型
声明并初始化枚举类型,也可以对枚举成员的值进行初始化,示例代码如下所示。
+展开
-C#
enum color {red=1,yellow=2,green=3,blue=1};//枚举成员的赋值

不仅可以为枚举成员初始化,也可以为枚举成员定义基本类型,示例代码如下所示。
+展开
-C#
enum color:int  {red=1,yellow=2,green=3,blue=1};//定义基本类型


2.3.8 类型转换
  在应用程序开发当中,很多的情况都需要对数据类型进行转换,以保证程序的正常运行。类型转换是数据类型和数据类型之间的转换,在.NET中,存在着大量的类型转换,常见的类型转换代码如下所示。
+展开
-C#
int i = 1;//声明整型变量
            Console.WriteLine(i);//隐式转换输出

  在上述代码中i是整型变量而WriteLine方法的参数是Object类型,但是WriteLine方法依旧能够正确输出是因为系统将i的类型在输出的时候转换成了字符型。在.NET框架中,有隐式转换和显式转换,隐式转换是一种由CLR自动执行的类型转换,如上述代码中的,就是一种隐式的转换(开发人员不明确指定的转换),该转换由CLR自动的将int类型转换成了string型。在.NET中,CLR支持许多数据类型的隐式转换,CLR支持的类型转换列表如表2-5所示。
表2-5 CLR支持的转换列表
从该类型     到该类型
sbyte     short,int,long,float,double,decimal
byte     short,ushort,int,uint,long,ulong,float,double,decimal
short     int,long,float,double,decimal
ushort     int,uint,long,ulong,float,double,decimal
int     long,float,double,decimal
uint     long,ulong,float,double,decimal
long,ulong   float,double,decimal
float     double
char     ushort,int,uint,long,ulong,float,double,decimal

  显式转换是一种明确要求编译器执行的类型转换。在程序开发过程中,虽然很多地方能够使用隐式转换,但是隐式转换有可能存在风险,显式转换能够通过程序捕捉进行错误提示。虽然隐式也会提示错误,但是显式转换能够让开发人员更加清楚的了解代码中存在的风险并自定义错误提示以保证任何风险都能够及早避免,示例代码如下所示。
+展开
-C#
            int i = 1;//声明整型变量i
            float j = (float)i; //显式转换为浮点型

上述代码说明了显式转换的基本语法格式,具体语法格式如下所示。
+展开
-C#
type variable1=(cast-type)variable2;


注意:显式的转换可能导致数据的部分丢失,如3.1415转换为整型的时候会变成3。

  除了隐式的转换和显式的转换,还可以使用.NET中的Convert类来实现转换,即使是两种没有联系的类型也可以实现转换。Convert类的成员函数都是静态方法,当调用Convert类的方法时无需创建Convert对象,当使用显式的转换的时候,若代码如下所示,则编译器会报错。
+展开
-C#
string i = "1";//声明字符串变量
            int j = (int)i;//显式转换为整型
            Console.WriteLine(j);//隐式转换为字符串

但是明显的是,字符串变量i的值是有可能转换成整型变量值1的,Convert类能够实现转换,示例代码如下所示。
+展开
-C#
string i = "1";//声明字符串变量
            int j = Convert.ToInt32(i);//显式转换为整型
            Console.WriteLine(j); //隐式转换为字符串

  上述代码编译通过并能正常运行。Convert类提供了诸多的转换功能,每个Toxx方法都将变量的值转换成相应.NET简单数据类型的值,如Int16、Int32、String等。但是值得注意的是,并不是每个变量的值都能随意转换,示例代码如下所示。
+展开
-C#
            string i = "haha";//声明字符串变量
            int j = Convert.ToInt32(i);//错误的转换

  上述代码中,i的值是字符串“haha”,很明显,该字符串是无法转换为整型变量的。运行此代码后系统会抛出异常提示字符串“haha”不能够转换成整型常量。

加支付宝好友偷能量挖...


评论(0)网络
阅读(116)喜欢(0)Asp.Net/C#/WCF