Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Convert.ToString方法和Object.ToString()在全球化方面的差异_C#_.net_String_Globalization - Fatal编程技术网

C# Convert.ToString方法和Object.ToString()在全球化方面的差异

C# Convert.ToString方法和Object.ToString()在全球化方面的差异,c#,.net,string,globalization,C#,.net,String,Globalization,C#.net中的Convert.ToString方法和Object.ToString()之间除了处理空值的方式之外还有什么区别吗。 从全球化的角度来看,两者之间可能存在一些差异 大部分情况下,Convert.ToString会对传入的值调用ToString。例如,只有少数例外 Convert.ToString(object,IFormatProvider),用于检查值是否实现IConverable,如果值不为null,则委托给该值,否则委托给value.ToString Convert.ToSt

C#.net中的Convert.ToString方法和Object.ToString()之间除了处理空值的方式之外还有什么区别吗。
从全球化的角度来看,两者之间可能存在一些差异

大部分情况下,Convert.ToString会对传入的值调用ToString。例如,只有少数例外

Convert.ToString(object,IFormatProvider),用于检查值是否实现IConverable,如果值不为null,则委托给该值,否则委托给value.ToString

Convert.ToString(IntXX,Int32),其中XX是16,32,64。这将进行基本转换


因此,我不认为这两者在全球化方面有任何区别。

Convert.ToString在很大程度上调用传递的值上的ToString。例如,只有少数例外

Convert.ToString(object,IFormatProvider),用于检查值是否实现IConverable,如果值不为null,则委托给该值,否则委托给value.ToString

Convert.ToString(IntXX,Int32),其中XX是16,32,64。这将进行基本转换

因此,我不认为两者在全球化方面有任何区别。

是和否

例如,
Convert.ToString(int)
方法与
Int32.ToString()
方法相同:“此实现与Int32.ToString()相同。”但是,
Convert
类还提供了覆盖,该覆盖将
IFormatProvider
作为第二个参数(例如),这可用于调整输出格式,例如通过传递
CultureInfo
实例。

是和否


例如,
Convert.ToString(int)
方法与
Int32.ToString()
方法相同:“此实现与Int32.ToString()相同。”但是,
Convert
类还提供了覆盖,该覆盖将
IFormatProvider
作为第二个参数(例如),这可以用来调整输出格式,例如通过传递
CultureInfo
实例。

当然,这仍然只是调用value.ToString并直接传递IFormatProvider。因此,Convert.ToString提供了与直接在对象上使用ToString相同的支持,除了我在回答中提到的少数情况。这是真的,但Ananth要求与
object.ToString()
(其中
Int32.ToString()
覆盖)相比有所不同,而且此方法不提供
IFormatProvider
参数。谢谢gehho。对于“Object.ToString()”,我指的是Int32、Double等类型。。x、 toString()提供的重载(包括IFormatProvider)比convert.toString()提供的要多……当然,这仍然只是调用value.toString并直接传递IFormatProvider。因此,Convert.ToString提供了与直接在对象上使用ToString相同的支持,除了我在回答中提到的少数情况。这是真的,但Ananth要求与
object.ToString()
(其中
Int32.ToString()
覆盖)相比有所不同,而且此方法不提供
IFormatProvider
参数。谢谢gehho。对于“Object.ToString()”,我指的是Int32、Double等类型。。x、 toString()提供的重载(包括IFormatProvider)比convert.toString()提供的要多…感谢Taylor提供的宝贵信息。但是当我们检查这两个支持的重载数量时,我仍然有疑问。想象一下,双d=1000;d、 Tostring()有4个重载。ie可以将IformatProvider以及格式字符串作为参数。但是当我们转换.ToString(d,XYZ)时,我们无法接收格式字符串。仅限IformatProvider。那么这意味着什么呢???@Ananth,格式字符串不会影响字符串的本地化。例如,d.ToString(“F2”,new CultureInfo(“en GB”))将返回字符串1000.00,而d.ToString(“F2”,new CultureInfo(“el GR”))将返回1000,00(请注意,“,”作为小数点)。因此,在本例中,格式字符串没有改变,并且只影响格式字符串的本地化。感谢Taylor提供的宝贵信息。但是当我们检查这两个支持的重载数量时,我仍然有疑问。想象一下,双d=1000;d、 Tostring()有4个重载。ie可以将IformatProvider以及格式字符串作为参数。但是当我们转换.ToString(d,XYZ)时,我们无法接收格式字符串。仅限IformatProvider。那么这意味着什么呢???@Ananth,格式字符串不会影响字符串的本地化。例如,d.ToString(“F2”,new CultureInfo(“en GB”))将返回字符串1000.00,而d.ToString(“F2”,new CultureInfo(“el GR”))将返回1000,00(请注意,“,”作为小数点)。所以在这种情况下,格式字符串没有改变,并且只影响格式字符串的本地化。