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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值