zoukankan      html  css  js  c++  java
  • 定制字符串Format

       class Program 
    {
    static void Main()
    {
    StringBuilder sb = new StringBuilder();
    IFormatProvider f=new BoldInt();
    BoldInt b = new BoldInt();
    sb.AppendFormat(f, "{0} {1} {2:M}", "Xiaobai", 21, DateTime.Now);
    Console.WriteLine(sb.ToString());
    Console.ReadKey();
    }
    }
    sealed class BoldInt : IFormatProvider, ICustomFormatter
    {
    #region ICustomFormatter 成员

    string ICustomFormatter.Format(string format, object arg, IFormatProvider formatProvider)
    {
    string s;
    IFormattable formattable = arg as IFormattable;
    if (formattable == null) s = arg.ToString();
    else s = formattable.ToString(format, formatProvider);
    if (arg.GetType() == typeof(Int32))
    return "<B>"+s+"</B>";
    if(arg.GetType()==typeof(DateTime))
    return "<DateTime>"+s+"</DateTime>";
    if (arg.GetType() == typeof(String))
    return "<String>" + s + "</String>";
    return s;
    }

    #endregion
    #region IFormatProvider 成员
    object IFormatProvider.GetFormat(Type formatType)
    {
    if (formatType == typeof(ICustomFormatter)) return this;
    return Thread.CurrentThread.CurrentCulture.GetFormat(formatType);
    }
    #endregion
    }
  • 相关阅读:
    markdown基本语法
    每天一个Linux命令:pwd(3)
    每天一个Linux命令:cd(2)
    每天一个Linux命令:ls(1)
    每天一个Linux命令:man(0)
    maven命令行创建项目问题
    Regular Expression
    JS事件流
    canvas与svg区别
    js调试
  • 原文地址:https://www.cnblogs.com/smailxiaobai/p/2289237.html
Copyright © 2011-2022 走看看