[C#]C#中ToString()和Convert.ToString()的区分

1、一般用法表达

ToString()与Convert.ToString(p)

参考资料:

1、一般用法表明

ToString():是Object的恢宏方法,所以都有ToString()方法;

Convert.ToString(param):当中param参数的数据类型能够是各类基本数据类型,也足以是bool或object类对象。

贰、两者的分别

[C#]C#中ToString()和Convert.ToString()的区分。诚如景观下,那三种方法都能够通用,不过当重返的数据类型中有相当大可能率出现null值时一旦调用ToString方法了,就会回去NullReferenceException,除非您要捕捉此万分再做拍卖,不然在那种情景下就应挂念选取Convert.ToString()方法了,因为Convert.ToString(null)不会抛出拾贰分而是回到空字符串。

最首要的区分就如上所示,由于ToString()是扩大方法,扩大自Object,所以转null报这些。而Convert.ToString()重返空字符串。

唯独Convert.ToString(),作用不算太大,因为null转理解后如故null,””转了今后依然””。

Convert.ToString(“”) == “”;

Convert.ToString(null) == null;

        }

据此,协作上string.IsNullOrEmpty(Convert.ToString())依然相比较便宜的。

其它,假如是跟某字符串相比较,那么使用Convert.ToString()依然很便利的。

三、object到string的转换

从 object 到 string
大约有八种办法,包罗显式转换和as关键词的行使:obj.ToString()、Convert.ToString()、(string)obj、obj
as string。他们都能将 object 对象转换来 string 对象。

前八个章程一般是由别的对象得到 string
对象,它们间的分别如前文所述首要呈今后:

ToString() :假诺 obj 为 null,调用 obj.ToString() 方法会导致
NullReferenceException 很是。

Convert.ToString():如果 obj 为 null,调用
Convert.ToString()会返回null。

(string):用强制转换 (string)obj 供给 obj 的运作时类型必须是
string。要是或不是,就会抛出十三分。

as :用 as 方法则会相对平稳,当 obj 的运维时类型不是 string 时会回来
null 而不抛出特别。

就此在平时在大家须求取得某些对象的 string 表明情势时,大家相应运用
ToString() 和
Convert.ToString(),那时候你就得依照气象选1个,若是你能保障你的对象不为
null,则多少个大约。若是有望为 null,你就应有用
Convert.ToString(),若是你愿意它为 null 的时候抛出11分,那么自然能够选择ToString()。

ToString()那么些措施太方便了,以致于以为就它那壹种情势,一般都是转此前先判断是或不是为null。

ToString()和Convert.ToString()的区别

  1般境况下,那三种方法都得以通用,唯独当再次回到的数据类型中有一点都不小可能率出现null值时假若调用ToString方法了,就会回来NullReferenceException,除非您要捕捉此11分再做拍卖,不然在那种景象下就应思量接纳Convert.ToString()方法了,因为Convert.ToString(null)不会抛出相当而是回到空字符串。

  美高梅开户网址 1

  主要的不同就像是上所示,由于ToString()是扩展方法,扩大自Object,所以转null报那一个。而Convert.ToString()再次来到空字符串。

  不过Convert.ToString(),成效不算太大,因为:

美高梅开户网址 2

        static void Main(string[] args)
        {
            string str1 = "";
            Console.WriteLine(Convert.ToString(str1) == null);  //false
            Console.WriteLine(Convert.ToString(str1) == "");    //true

            string str2 = null;
            Console.WriteLine(Convert.ToString(str2) == null);  //true
            Console.WriteLine(Convert.ToString(str2) == "");    //false

            Console.ReadKey();
        }

美高梅开户网址 3

  null转了后来如故null,””转了后来照旧””。

 

  ToString()是Object的扩充方法,所以都有ToString()方法;而Convert.ToString(param)(在那之中param参数的数据类型能够是各个基本数据类型,也能够是bool或object类对象。

object到string的转换

  从 object 到 string
差不离有各种方法,包涵显式转换和as关键词的应用:obj.ToString()、Convert.ToString()、(string)obj、obj
as string。

  1. ToString() :假如 obj 为 null,调用 obj.ToString() 方法会导致
    NullReferenceException 非凡。
  2. Convert.ToString():如果 obj 为
    null,调用 Convert.ToString()会返回null
  3. (string):用强制转换 (string)obj 要求 obj 的运行时类型必须是
    string。倘若不是,就会抛出极度。
  4. as :用 as 方法则会相对安静,当 obj 的运作时类型不是 string 时会回去
    null 而不抛出十一分。

  所以在1般在大家须求获得有个别对象的 string 表达情势时,大家理应采用ToString() 和
Convert.ToString(),那时候你就得依照气象选二个,假设你能担保你的对象不为
null,则八个大概。假若有相当的大希望为 null,你就应当用
Convert.ToString(),若是你希望它为 null 的时候抛出格外,那么自然能够选用ToString()。

  ToString()那些格局太方便了,以致于以为就它这1种办法,
一般都以转在此以前先判断是或不是为null.

1般 object 到 string 有种种格局(假诺有object
obj):obj.ToString()、Convert.ToString()、(string)obj、obj as
string。他们都能将 object 对象转换来 string
对象。笔者就讲讲他们的异议以及在实质上中应该选拔哪个。

二、ToString()和Convert.ToString()的区别

 

  1般意况下,那三种形式都足以通用,可是当再次回到的数据类型中有相当大恐怕出现null值时一旦调用ToString方法了,就会回去NullReferenceException,除非您要捕捉此格外再做拍卖,不然在那种情形下就应思量选取Convert.ToString()方法了,因为Convert.ToString(null)不会抛出极度而是重临空字符串。
第3的分化就好像上所示,由于ToString()是扩充方法,扩张自Object,所以转null报这几个。而Convert.ToString()重临空字符串。

        前两个方法壹般是由别的对象获得 string
对象,它们间的界别只表未来要转移的靶子为 null 时,即使 obj 为 null,调用
obj.ToString 方法会招致 NullReferenceException 卓殊,调用
Convert.ToString 不会抛出特别而回到三个 null。

  不过Convert.ToString(),作用不算太大,因为:

 

static void Main(string[] args)
    {
      string str1 = "";
      Console.WriteLine(Convert.ToString(str1) == null); //false
      Console.WriteLine(Convert.ToString(str1) == "");  //true

      string str2 = null;
      Console.WriteLine(Convert.ToString(str2) == null); //true
      Console.WriteLine(Convert.ToString(str2) == "");  //false

      Console.ReadKey();
    }

      用强制转换 (string)obj 必要 obj 的运维时类型必须是
string。假设不是,就会抛出尤其。

null转了随后依旧null,””转了后头还是””。

用 as 方法则会相对平静,当 obj 的周转时类型不是 string 时会重临 null
而不抛出十分。

  所以,合作上string.IsNullOrEmpty(Convert.ToString())依然相比便宜的。

所以在平凡在大家须要获得有个别对象的 string 表明格局时,大家应当利用
ToString 和
Convert.ToString,那时候你就得依照气象选四个,假诺你能保障你的对象不为
null,则四个差不离。即使有望为 null,你就应该用
Convert.ToString,假若您期望它为 null 的时候抛出尤其,那么自然能够采纳ToString。

    Console.WriteLine(string.IsNullOrEmpty(Convert.ToString(str1)));  //true
    Console.WriteLine(string.IsNullOrEmpty(Convert.ToString(str1)));  //true

 

   其余,假如是跟某字符串比较,那么使用Convert.ToString()照旧很有益的,例如

    if(Convert.ToString(str) == "123")
    {

    }

三、object到string的转换

美高梅开户网址,  从 object 到 string
大约有多样格局,包括显式转换和as关键词的施用:obj.ToString()、Convert.ToString()、(string)obj、obj
as string。他们都能将 object 对象转换来 string 对象。

  前三个办法1般是由其他对象获得 string
对象,它们间的区分如前文所述首要呈未来:

ToString() :假诺 obj 为 null,调用 obj.ToString() 方法会导致
NullReferenceException 格外。

Convert.ToString():如果 obj 为 null,调用 Convert.ToString()会返回null

(string):用强制转换 (string)obj 需要 obj 的运作时类型必须是
string。若是否,就会抛出相当。

as :用 as 方法则会相对平稳,当 obj 的运维时类型不是 string 时会回去
null 而不抛出尤其。

  所以在日常在大家供给获得有些对象的 string 表明格局时,大家相应利用
ToString() 和
Convert.ToString(),那时候你就得依照事态选一个,若是你能担保你的靶子不为
null,则七个大约。即便有非常的大可能率为 null,你就应有用
Convert.ToString(),假若你愿意它为 null 的时候抛出10分,那么自然能够挑选
ToString()。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图