IFormattable接口提供了ToString()方法的定义,使用该方法可以将对象的值按照指定的格式转化成字符串的功能。
下面是ToString()方法的完整定义。
using System;
using System.Globalization;
namespace GreetingExample
{
public class Greeting : IFormattable
{
private string name;
public Greeting(string name)
{
this.name = name;
}
public override string ToString()
{
return this.ToString(\"CN\",CultureInfo.CurrentCulture);
}
public string ToString(string format)
{
return this.ToString(format,CultureInfo.CurrentCulture);
}
public string ToString(string format, IFormatProvider provider)
{
if (String.IsNullOrEmpty(format)) format = \"CN\";
if (provider == null) provider = CultureInfo.CurrentCulture;
switch (format.ToUpper())
{
case \"CN\":
case \"TW\":
return \"你好,\" + name.ToString();
case \"US\":
case \"GB\":
return \"Hello,\" + name.ToString();
case \"JP\":
return \"こんにちは,\" + name.ToString();
default:
throw new FormatException(String.Format(\"The {0} format string is not supported.\", format));
}
}
}
}
using System;
namespace GreetingExample
{
class Program
{
static void Main(string[] args)
{
Greeting greeting = new Greeting(\"三五月儿\");
Console.WriteLine(greeting.ToString(\"CN\"));
Console.WriteLine(greeting.ToString(\"US\"));
Console.WriteLine(greeting.ToString(\"JP\"));
}
}
}
下面是代码的运行结果。
本文地址:https://www.stayed.cn/item/15014
转载请注明出处。
本站部分内容来源于网络,如侵犯到您的权益,请 联系我