【4858.com】[C#]C#中ToString()和Convert.ToString()的区分

By admin in 4858.com on 2019年3月31日

① 、一般用法表明

【4858.com】[C#]C#中ToString()和Convert.ToString()的区分。ToString()与Convert.ToString(p)

参考资料:

① 、一般用法表明

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

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

二 、两者的界别

诚如情状下,那二种方法都得以通用,不过当重临的数据类型中有大概出现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。假若不是,就会抛出10分。

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

为此在一般在我们须求获得有个别对象的 string 表明方式时,我们应有接纳ToString() 和
Convert.ToString(),那时候你就得依据事态选1个,借使你能担保你的靶子不为
null,则七个大约。要是有大概为 null,你就应有用
Convert.ToString(),假设您愿意它为 null 的时候抛出拾壹分,那么自然能够选用ToString()。

ToString()这几个措施太方便了,以致于以为就它这一种艺术,一般都以转此前先判断是还是不是为null。

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

  一般景色下,那三种艺术都能够通用,不过当重临的数据类型中有大概出现null值时一旦调用ToString方法了,就会回去NullReferenceException,除非你要捕捉此卓殊再做处理,不然在那种状态下就应考虑使用Convert.ToString()方法了,因为Convert.ToString(null)不会抛出非凡而是回到空字符串。

  4858.com 1

  首要的差异就好像上所示,由于ToString()是扩张方法,增加自Object,所以转null报那四个。而Convert.ToString()重回空字符串。

  然而Convert.ToString(),功能不算太大,因为:

4858.com 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();
        }

4858.com 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 而不抛出万分。

  所以在经常在大家须求获得有个别对象的 string 表明方式时,大家应有利用
ToString() 和
Convert.ToString(),那时候你就得依据事态选1个,假若你能确认保障你的靶子不为
null,则五个大致。假若有恐怕为 null,你就应有用
Convert.ToString(),假设您指望它为 null 的时候抛出尤其,那么自然能够选取ToString()。

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

普通 object 到 string 有七种艺术(假如有object
obj):obj.ToString()、Convert.ToString()、(string)obj、obj as
string。他们都能将 object 对象转换到 string
对象。作者就讲讲他们的异同以及在实际中应当运用哪个。

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

 

  一般情状下,那三种方法都足以通用,不过当再次来到的数据类型中有也许出现null值时要是调用ToString方法了,就会回去NullReferenceException,除非你要捕捉此丰裕再做处理,不然在那种状态下就应考虑使用Convert.ToString()方法了,因为Convert.ToString(null)不会抛出非凡而是回到空字符串。
重点的分别就像上所示,由于ToString()是增添方法,扩展自Object,所以转null报那些。而Convert.ToString()重回空字符串。

        前两个艺术一般是由其他对象得到 string
对象,它们间的界别只表今后要更换的对象为 null 时,假设 obj 为 null,调用
obj.ToString 方法会招致 NullReferenceException 卓殊,调用
Convert.ToString 不会抛出非常而回到2个 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
而不抛出10分。

  所以,同盟上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 对象。

  前三个章程一般是由其余对象获得 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 的时候抛出很是,那么自然能够选用ToString()。

发表评论

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

网站地图xml地图
Copyright @ 2010-2019 美高梅手机版4858 版权所有