Con*_*sed 2 .net c# culture tostring
用C#在什么情况下,我需要提供一个CultureInfo IFormatProvider使用时ToString()上String还是Char?
我通过数字或日期转换得到它,例如
(-10000.4).ToString(provider: new System.Globalization.CultureInfo("es-ES"));
(-10000.4).ToString(provider: new System.Globalization.CultureInfo("en-US"));
DateTime.Now.ToString(provider: new System.Globalization.CultureInfo("es-ES"));
DateTime.Now.ToString(provider: new System.Globalization.CultureInfo("en-US"));
Run Code Online (Sandbox Code Playgroud)
赠送:
-10000,4
-10000.4
01/05/2018 22:49:09
5/1/2018 10:49:09 PM
Run Code Online (Sandbox Code Playgroud)
但是以下内容如何:
"Some string".ToString(provider: new System.Globalization.CultureInfo("es-ES"));
"Some string".ToString(provider: new System.Globalization.CultureInfo("en-US"));
Run Code Online (Sandbox Code Playgroud)
我可能会使用哪些字符串受文化影响?
同样的char.
在任何情况下,因为它什么都不做.由于MSDN documentatio N代表String.ToString(IFormatProvider provider)指出:
provider是保留的,目前不参与此操作.因为此方法只是返回当前字符串不变,所以不需要直接调用它.
这同样适用于Char.ToString(IFormatProvider provider).
之所以String与Char这个显然没用的方法是,它是实现所需要的IConvertible接口,使得例如允许转换,从string到int,int要string等