none
求个例子with IFormattable & IFormatProvider RRS feed

  • 问题

  • 如题..
    找了很久,找不到合适的例子...
    实现了IFormattable接口后,ToString()的第二个参数是IFormatProvider类型的,不明白该怎么用...
    看到的例子都是第而个参传的是null或直接用string.Format()格式化输出,没有用到第而个参数.MSDN中两个传的都是null,但有一个IFormatProvider和ICustomFormat的例子..
    有人说,充满技术的生活枯燥无味.. 我笑他们不懂.因为只有技术才能充实生活.. 学习就像生活,都需要善于总结,才能发现问题,取得进步.. 生活中充满了数学算式与结构,只要我们善于观察和思考..
    2009年5月31日 13:27

全部回复

  • 2009年5月31日 14:10
    版主
  • 你好!
         不知道你想要的是哪个类型的ToString,我找了一个Byte类型的ToString实例:
    byte byteValue = 250;
    CultureInfo[] providers = {new CultureInfo("en-us"), 
                               new CultureInfo("fr-fr"), 
                               new CultureInfo("es-es"), 
                               new CultureInfo("de-de")};
    
    foreach (CultureInfo provider in providers)
       outputBlock.Text += String.Format("{0} ({1})",
                         byteValue.ToString("N2", provider), provider.Name) + "\n";
    // The example displays the following output:
    //       250.00 (en-US)
    //       250,00 (fr-FR)
    //       250,00 (es-ES)
    //       250,00 (de-DE)  

    周雪峰
    2009年5月31日 15:04
    版主
  • string ToString(
    	string format,
    	IFormatProvider formatProvider
    )
    就是IFormattable中的这个方法..
    当String.Format("{0:D}",provider)时,(provider是实现了IFormattable接口的类的实例)
    只有format被赋值成D,第二个参数怎么通过回调传参呢?
    有人说,充满技术的生活枯燥无味.. 我笑他们不懂.因为只有技术才能充实生活.. 学习就像生活,都需要善于总结,才能发现问题,取得进步.. 生活中充满了数学算式与结构,只要我们善于观察和思考..
    2009年6月1日 11:11
  • 可是String.Format并没有你说的这个重载啊!
    不好意思,我仔细阅读了你的描述足足有二十分钟,但是还是没有理解出你想表达的意思啊!
    请进一步说明好吗?
    周雪峰
    2009年6月1日 12:01
    版主
  • IFormattable接口里的抽象方法..
    实现了后要重写的.
    有人说,充满技术的生活枯燥无味.. 我笑他们不懂.因为只有技术才能充实生活.. 学习就像生活,都需要善于总结,才能发现问题,取得进步.. 生活中充满了数学算式与结构,只要我们善于观察和思考..
    2009年6月1日 15:03
  • 你好,

    不明白你的意思,你是在使用String.Format还是IFormattable. ToString方法呢,下面这个例子不是可以供你参考吗

    http://msdn.microsoft.com/zh-cn/library/system.iformatprovider.aspx

    Please remember to mark the replies as answers if they help and unmark them if they provide no help.
    Welcome to the All-In-One Code Framework! If you have any feedback, please tell us.
    2009年6月4日 3:50
    版主