源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

C#中使用IFormattable实现自定义格式化字符串输出示例

  • 时间:2022-09-07 21:55 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:C#中使用IFormattable实现自定义格式化字符串输出示例
IFormattable接口提供了ToString()方法的定义,使用该方法可以将对象的值按照指定的格式转化成字符串的功能。 下面是ToString()方法的完整定义。
[url=http://www.1sucai.cn/article/67974.htm]ICustomFormatter及IFormatProvider接口用法揭秘[/url]》,本文不做过多说明。下面是完整的实例代码。
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"));
    }
  }
}
下面是代码的运行结果。 [img]http://files.jb51.net/file_images/article/201506/201561792456637.png?20155179254[/img]
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部