ToString 自定义格式化

阅读更多

C#中提供了一个IFormattable接口以便实现类自定义格式化字符串。IFormattable有一个方法方法:ToString.定义如下:

String ToString( String format, IFormatProvider formatProvider )

 

在实现类中可以根据需要这样做:

public class Racer:IFormattable{

//some fratures....

 

      //这个是Object中的方法 public override string ToString() { return FirstName + " " + LastName; }

 

public string ToString(string format) { return ToString(format, null); }

 

      //这个是IFormattable接口的方法

public string ToString(string format, IFormatProvider formatProvider) { switch (format) { case null: case "N": return ToString(); case "F": return FirstName; case "L": return LastName; case "A": return String.Format("{0} {1}, {2}; starts: {3}, wins: {4}", FirstName, LastName, Country, Starts, Wins); default: throw new FormatException(String.Format( "Format {0} not supported", format)); } }

}

 

在调用时:

Racer r = new Racer("Nino", "Farina", "Italy", 33, 5);

Console.WriteLine("{0:A}", r);

输出这种格式:

Nino  Farina, Italy ; starts: 33, wins: 5

你可能感兴趣的:(C,C++,C#,F#)