C#难点逐个击破(9):类型转换_C#教程

显式转换与隐式转换

类型之间的转换可以分为隐式转换与显式转换,如int类型可直接转换为long类型。

复制代码 代码如下:

/*隐式转换*/
int intNum = 23;
long longNum1 = intNum;

也可进行显式转换;

复制代码 代码如下:

/*显式转换*/
int intNum = 23;
long longNum2 = (long)intNum;

Parse

每个值类型都包含Parse()依法,它将字符串转换成对应的数值类型]

复制代码 代码如下:

/*Parse转换*/
string text = "3.1415926E1";
float PI = float.Parse(text);

Convert

System.Convert属于.net framework中的类,为不可继承类,它在msdn中定义原型为
public sealed class ConvertSystem.Convert只支持预定义数量的类型,它支持的类型包括所有值类型加String类型的基本数据类型和Object类型,这里的基本数据类型为.net framework的数据类型。

复制代码 代码如下:

/*Convert转换*/
bool isTrue=false;
string strNum = Convert.ToString(isTrue);

TryParse()

TryParse属于C#静态方法,所有基本数据类型均包含此方法。它返回bool类型,表示是否转换成功,它常搭配out来进行转换数据;若转换失败,它将返回false,不会引发异常。

复制代码 代码如下:

/*TryParse转换*/
System.Console.Write("输入要转换的数值:");
string input = System.Console.ReadLine();//输入
int result;//转换结果
if (int.TryParse(input, out result))
{
System.Console.WriteLine("转换结果为:{0}", result);
}
else
{
System.Console.WriteLine("转换失败");
}

ToString()

所有的类型都支持ToString()方法,对于只有类型显式实现了ToString()的情况下才会返回该类型对象取值的字符串表示;其他类型ToString()只是返回数据类型的名称。

复制代码 代码如下:

Object o = new object();
Console.WriteLine(o.ToString());
int age = 23;
Console.WriteLine(age.ToString());
bool isMale = true;
Console.WriteLine(isMale.ToString());

时间: 2024-10-01 10:19:50

C#难点逐个击破(9):类型转换_C#教程的相关文章

C#难点逐个击破(5):类的访问类型_C#教程

讲这四类之间的区别时有必要讲解一个概念:程序集.程序集(Assembly),可以简单理解为编译之后生成的.dll或.exe文件,相对于namespace是类库的逻辑组织形式,它可以称为程序类库的物理组织形式,msdn上描述"程序集包含描述它们自己的内部版本号和它们包含的所有数据和对象类型的详细信息的元数据".一般情况是一个程序集可以包含一个或者多个命名空间. Public:对其他任何类的任何方法都是可见的: Private:本类中定义的成员只有本类的方法才能访问; Protected:

C#难点逐个击破(4):main函数_C#教程

还记得读大学时初识计算机编程时的C语言,Main(){},那时还不明白入口函数是什么意思,只知道照抄书本上的示例,一行一行地跑printf看. 在C#中Main()属于主入口函数,我们知识C.C#属于编译语言,可以想象为一段程序最开始的头部部分,由Main()函数进入逐语句进行编译后执行.假如html页面也称作编程语言的话,那么它就属于从上到下一句一句(下载)执行:js也是由上到下执行,不过js相当诡异,变量作用域要特别对待:在asp.net中一般情况下是以Page_Load(object se

C#难点逐个击破(1):ref参数传递_C#教程

一般情况,方法的参数传递是通过值进行传递的,即一个对象作为参数传递给方法使用,该对象便进驻到该参数对象所在指针的内存空间(使用C来描述),也就是该对象在此位置创建了副本,当方法运行结束时,该副本将会被销毁:这种传递方式的使用占据了日常方法传参的绝大多数. 另一种情况是引用传递,它与值传递方式不同,对象传递给方法时对方法参数并没有影响,仍然返回的是受原始参数取值影响的方法,即MethodInstance(ref _refValue)调用 Method(ref _arg)方法,但_refValue对

C#难点逐个击破(3):params数组参数_C#教程

在方法声明中只允许一个paras关键字,并且该关键字只能为最后一个. 复制代码 代码如下: using System; /****************************** * Chapter:C#难点逐个击破(三) * Author:王洪剑 * Date:2010-1-16 * Blog:http://www.51obj.cn/ * Email:walkingp@126.com * Description:数组参数params的使用 * ***********************

C#难点逐个击破(6):C#数据类型与.net framework数据类型_C#教程

其中有<Java程序设计教程>是一个美籍华人的作品,还有Nicholas C.Zakes的<Javascript高级程序设计>,还有就是这本Illustrator C# 2008,中文译为"插图详解C#2008",实际上插图不是很多.这是我第一次完整的读原版书,感慨良深.一是我的英文居然还可以,想当初考六级还差了20多分,–!!二是老外写书真的是用心在写,对待自己的书就像对待自己的孩子一样. 以上是闲话,之前一直很想知道.net framework数据存储类型在

C#难点逐个击破(7):checked与unchecked_C#教程

C#默认情况下,若常数表达式的值超过了目标类型的最大值,将会导致编译错误. 若目标数据类型不能容纳非常数表达式的数据,那么数据在赋值时会被截断. 复制代码 代码如下: class Program { static void Main(string[] args) { int n = int.MaxValue;//n=2147483647 n = n + 1; System.Console.WriteLine(n); } } 此时可用内存存储数据来解释,之前int.MaxValue在内存为为32位

C#难点逐个击破(8):可空类型System.Nullable_C#教程

null与void null值用来表示数据类型未被赋予任何值,它是一种引用类型:void表示没有类型,或者说是没有任何值.null与void的区别可以认为void是根本没有,而null是一个空箱子,里面什么都没有. null值只能赋值给引用类型,这里注意到string也是一种引用类型:引用类型在C中称为"指针",即存放变量位置的内存空间位置.将变量设为null,会显式地设置引用,且它本身不指向任何内存位置: null值赋给值类型将导致编译错误. void用于方法值的返回,其本质并不是一

c# 类型转换_C#教程

CLR允许将一个对象转换为它的实际类型,或者它的基类型. 在C#中,可将一个对象隐式转换为它的基类型,将对象转换成派生类型需要显示转换.例: object o = new Emplee(); Emplee e = (Emplee)o; 但是如果将一个对象转换成自己的派生类型是,会运行时报错: object o = new object(); Emplee e = (Emplee)o; 所以CLR是类型安全的. c#中is as的操作符用法 在c#语言中,进行类型转换的另一个方式是使用is as操

使用VS2010 C#开发ActiveX控件(下),完整代码打包下载_C#教程

其实如果我们不进行设置,只是修改了代码,运行程序以后,其出错界面如下图1所示: 开发ActiveX控件(下),完整代码打包下载_C#教程-vs2010使用教程 c"> 图1 抛出异常如下: ************** Exception Text ************** System.MethodAccessException: Attempt by security transparent method 'Rare.Card.Libary.Controls. ReadCardCo