程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C#中應用IFormattable完成自界說格局化字符串輸入示例

C#中應用IFormattable完成自界說格局化字符串輸入示例

編輯:C#入門知識

C#中應用IFormattable完成自界說格局化字符串輸入示例。本站提示廣大學習愛好者:(C#中應用IFormattable完成自界說格局化字符串輸入示例)文章只能為提供參考,不一定能成為您想要的結果。以下是C#中應用IFormattable完成自界說格局化字符串輸入示例正文


IFormattable接口供給了ToString()辦法的界說,應用該辦法可以將對象的值依照指定的格局轉化成字符串的功效。

上面是ToString()辦法的完全界說。

string ToString( string format, IFormatProvider formatProvider ) 

個中:

第一個參數告知辦法須要何種格局的輸入,而第二個IFormatProvider的參數則許可類型的應用者自界說格局化辦法,在本文完成的ToString()辦法中,並沒有應用到第二個參數。關於IFormatProvider接口請浏覽文章《ICustomFormatter及IFormatProvider接口用法揭秘》,本文不做過量解釋。上面是完全的實例代碼。

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"));
    }
  }
}

上面是代碼的運轉成果。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved