【亚洲必赢官网】[C#]C#中ToString()和Convert.ToString()的界别

一、壹般用法表明

ToString()与Convert.ToString(p)

参考资料:

一、壹般用法表明

ToString():是Object的扩大方法,所以都有ToString()方法;

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

二、两者的分别

1般意况下,那三种方式都得以通用,不过当再次回到的数据类型中有望出现null值时假诺调用ToString方法了,就会回来NullReferenceException,除非您要捕捉此十一分再做拍卖,不然在那种景观下就应思虑选用Convert.ToString()方法了,因为Convert.ToString(null)不会抛出格外而是回到空字符串。

第②的分裂就好像上所示,由于ToString()是增加方法,扩张自Object,所以转null报那些。而Convert.ToString()重返空字符串。

只是Convert.ToString(),功用不算太大,因为null转了未来如故null,””转了随后照旧””。

【亚洲必赢官网】[C#]C#中ToString()和Convert.ToString()的界别。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(),那时候你就得依据意况选一个,若是你能确认保障你的目的不为
null,则五个大概。假使有望为 null,你就应当用
Convert.ToString(),假使您期望它为 null 的时候抛出尤其,那么自然能够选择ToString()。

ToString()那么些格局太有利了,以致于以为就它那1种方法,壹般都以转此前先判断是还是不是为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()那些方式太有利了,以致于以为就它这一种方法,
一般都以转在此之前先判断是否为null.

普通 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)不会抛出万分而是回到空字符串。
重大的不相同就像上所示,由于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,那时候你就得依照气象选3个,假使你能保障你的对象不为
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地图