色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

Convert.ToInt32與Int32.Parse區別及Int32.TryParse

using System;
using System.Collections.Generic;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
string myString = "1234";
int myint = 0;
myint = Convert.ToInt32(myString);
Console.Write(myint+"/r/n ");
myint = Int32.Parse(myString);

Console.Write(myint+"/r/n ");
Int32.TryParse(myString, out myint);

Console.Write(myint+"/r/n");
}
}
}
表面上看,可見3個方法都實現了同樣的效果!
那么我們把代碼改一下:


//string myString = "1234";
string myString = null;
int myint = 0;
myint = Convert.ToInt32(myString);
Console.Write(myint+"/r/n");
myint = Int32.Parse(myString);
Console.Write(myint+"/r/n");
Int32.TryParse(myString, out myint);
Console.Write(myint+"/r/n");

運行結果:
Convert.ToInt32()在null時不拋異常而是返回0;
Int32.Parse()要拋異常;
Int32.TryParse()不拋異常,會返回true或false來說明解析是否成功,如果解析錯誤,調用方將會得到0值。

得出結論:
3個方法幾乎沒有差異!

如果要追求完美,那么可以參靠一下性能的差異:
Int32.TryParse()優于Int32.Parse()優于Convert.ToInt32()。

個人建議:.NET1.1下用Int32.Parse();.NET2.0用Int32.TryParse()。

為什么這樣呢?
因為:Convert.ToInt32會把最終的解析工作代理給Int32.Parse,而Int32.Parse和Int32.TryParse則分別把解析工作直接代理給Number.ParseInt32和Number.TryParseInt32,前者在出現解析錯誤時會拋出異常,而后者則僅僅返回 false。

AspNet技術Convert.ToInt32與Int32.Parse區別及Int32.TryParse,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 四平市| 安仁县| 嵩明县| 时尚| 丹江口市| 峨边| 内黄县| 翁牛特旗| 武汉市| 安多县| 吕梁市| 岳池县| 鲜城| 汝南县| 湘乡市| 兴海县| 广州市| 海兴县| 班玛县| 疏附县| 遂宁市| 红原县| 江北区| 铜川市| 峨眉山市| 乌兰县| 休宁县| 福州市| 白银市| 视频| 图们市| 萍乡市| 运城市| 合水县| 高要市| 新乡县| 郯城县| 高台县| 旬阳县| 宁津县| 宁德市|