请教问题,关于IFormattable接口的。

azhou88 2015-05-13 03:22:17
我想请问一下IFormattable接口,实现它的时候,里面的第二个参数public string ToString(string format, IFormatProvider formatProvider)

IFormatProvider formatProvider是做什么的。。我写了个东西,并么有使用到 IFormatProvider formatProvider,也是可以正常运行的啊。


public string ToString(string format, IFormatProvider formatProvider)
{
switch (format)
{
case null:
case "N":
return ToString();
case "F":
return a;
case "L":
return "博物馆";
case "A":
return String.Format("{0} {1}, {2}; starts: {3}, wins: {4}",
"白银市", a, "sdf", a, a);
case "D":
return string.Format(formatProvider, "({0},{1})", "这是formatProvider", "hehe");
default:
throw new FormatException(String.Format(
"Format {0} not supported", format));
}

如上,我并没有使用到formatProvider参数,但是我接口还是完成了格式,那么formatProvider参数使用来做什么的。
麻烦使用通俗易懂的话来说明。
...全文
168 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
azhou88 2015-05-14
  • 打赏
  • 举报
回复
解释的我还是看不明白啊。。自己顶一下。谁能给我点详细的回答,通熟易懂点的啊。
江南小鱼 2015-05-13
  • 打赏
  • 举报
回复
1、你不使用formatProvider,可以正常转换,因为String.Format有一个参数的重载方法 2、IFormatProvider是格式参数,目的是将指定字符串中的一个或多个格式项替换为指定对象的字符串表示形式 比如29,可以使用IFormatProvider,输出29.00(保留两位小数)、29%等

110,571

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧