c#

位置:IT落伍者 >> c# >> 浏览文章

浅析.NET类型转换的四种方法


发布日期:2022年07月29日
 
浅析.NET类型转换的四种方法

NET类型转型的四种做法

◆ 强制转型(int)变量名称

◆ intParse(字符串变量名称)

◆ ConvertTo类型(变量名称)

◆ TryParse

强制转型 (casting)

◆ 浮点数会做无条件捨去失去精确度

◆ 可处理 object 转 int但遇到 object 为 null 时会产生 error

◆ 某些情况下如 object 转型成 int有时正常但有时会无故发生 error原因不明

◆ 无法处理 string 转 int (程序中常会用到的功能)

◆ 千万不可用来处理 char 类型否则传回的是 ASCII 码而不是字面上的数字

intParse(字符串变量名称)

◆ 只能处理 string 转 int 或其它类型无法处理 string 以外的类型功能有限

◆ 遇到 string 为 null 或 stringEmpty 时仍会造成程序 error

◆ 亦可变化使用「类型Parse(string)」但参数只能丢 string

ConvertTo类型(变量名称)

◆ 可处理所有 NET 的类型功能完整

◆ 可处理 null几乎不会因转型造成程序 error

◆ 透过「ConvertToInt(变量)」转型成 int 时变数若为 object 或 string 类型当其值为 null 时会传回 不会造成程序 error

◆ 续前一点若此 string 类型的变量其原始值为 stringEmpty在转型成 int 时仍会造成程序 error

◆ 浮点数会做四捨五入

◆ 千万不可用来处理 char 类型否则传回的是 ASCII 码而不是字面上的数字

测试范例

protected void Page_Load(object sender EventArgs e)

{

char i = ;

char i = ;

string i = null;

string i = ;

string i = stringEmpty;

int i = ;

int i = ;

double i = ;

double i = ;

object i = null;

object i = ;

// 浮点数会做无条件捨去某些情况会无故产生 error

ResponseWrite((int)i + + (int)i + <br>);

// 只能处理「字符串」转型成其它类型功能有限

ResponseWrite(intParse(i) + + intParse(i) + <br>);

// 可处理所有类型及 Null但浮点数会做四捨五入推荐使用但不可处理 char 类型

ResponseWrite(ConvertToInt(i) + + ConvertToInt(i) + <br>);

}

遇到要特别注意数字金额精确度的项目时应特别注意

TryParse

这个方法是 NET Framework 版的新功能将数字的字串表示转换成它的对等 位元带正负号的整数传回指示作业是否成功的值 TryParse 方法与 Parse 方法类似除了TryParse 方法在转换失败时不会掷回例外状况以外

上一篇:在vs2008环境C#对Excel基本操作

下一篇:如何学习.NET新技术