威尼斯人线上娱乐

[C#]C#中ToString()和Convert.ToString()的界别

15 4月 , 2019  

一、1般用法表达

ToString()与Convert.ToString(p)

参考资料:

壹、一般用法表达

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

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

2、两者的分别

诚如景况下,这几种方法都得以通用,不过当重返的数据类型中有相当的大可能率现身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()仍然很便宜的。

[C#]C#中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(),那时候你就得依照景况选3个,借使你能有限帮助你的目标不为
null,则四个大致。借使有异常的大或许为 null,你就活该用
Convert.ToString(),如若您指望它为 null 的时候抛出尤其,那么自然能够采取ToString()。

ToString()那个点子太便宜了,以致于感觉就它那一种方法,一般都以转在此之前先判别是或不是为null。

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

  1般境况下,那三种方法都得以通用,可是当重返的数据类型中有希望出现null值时假使调用ToString方法了,就会回来NullReferenceException,除非你要捕捉此丰硕再做处理,否则在那种景况下就应思虑动用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 而不抛出十一分。

威尼斯人线上娱乐,  所以在普通在大家须要得到某些对象的 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()的区别

 

  一般情况下,那两种办法都足以通用,不过当再次回到的数据类型中有希望出现null值时壹旦调用ToString方法了,就会回到NullReferenceException,除非您要捕捉此十二分再做拍卖,否则在那种意况下就应思考采纳Convert.ToString()方法了,因为Convert.ToString(null)不会抛出特别而是重返空字符串。
主要的分别就像上所示,由于ToString()是扩大方法,扩展自Object,所以转null报那几个。而Convert.ToString()再次回到空字符串。

        前多少个点子1般是由别的对象获得 string
对象,它们间的分别只表今后要转移的靶子为 null 时,假使 obj 为 null,调用
obj.ToString 方法会导致 NullReferenceException 至极,调用
Convert.ToString 不会抛出万分而回到1个 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 对象。

  前八个方法一般是由别的对象获得 string
对象,它们间的不一样如前文所述首要呈以后:

ToString() :借使 obj 为 null,调用 obj.ToString() 方法会导致
NullReferenceException 分外。

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

(string):用强制调换 (string)obj 须要 obj 的运作时类型必须是
string。借使不是,就会抛出11分。

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

  所以在平时在我们必要得到某些对象的 string 表明情势时,我们应有采纳ToString() 和
Convert.ToString(),那时候你就得依照意况选3个,若是你能确认保证你的目的不为
null,则八个差不多。假设有希望为 null,你就应有用
Convert.ToString(),借使您愿意它为 null 的时候抛出11分,那么自然能够采纳ToString()。


相关文章

发表评论

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

网站地图xml地图