C#中的格式化字符串

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Text;
  4. namespace 字符串
  5. {
  6.     class 格式化字符串
  7.     {
  8.         public static void Main()
  9.         {
  10.             //Console.WriteLine方法其实就是在调用String.Format(静态),参数是无限的。
  11.             //这样,其实中WriteLine方法中没有做具体的格式化操作
  12.             //那么,在String.Format方法中,需要对第一个格式说明符做替换。
  13.             //在这其中其实是用到了StringBuilder来操作的
  14.             //在这个替换中StringBuilder其实是用静态文件初始的,也就是固定的那部分
  15.             //然后调用StringBuilder.AppendFormat()传递第一个格式说明符 例 "{0,10:E}" 与 所对应的第一个对象成对 如: 600 
  16.             //这样循环一直到把所有格式符全格式完毕
  17.             //以下代码是自定义格式化
  18.             Person person = new Person();
  19.             person.age = 22;
  20.             person.name = "Aladdin";
  21.             Console.WriteLine( "格式化你让我看看:{0,400:C}" , person );
  22.             Console.Read();
  23.         }
  24.     }
  25.     class Person : IFormattable
  26.     {
  27.         public string name;
  28.         public int age;
  29.         
  30.         //实现格式化接口的方法
  31.         public string ToString(string format, IFormatProvider formatProvider)
  32.         {
  33.             string flag = null;
  34.             if ("E".Equals(format))
  35.             {
  36.                 flag = "E: " + this.name + "   " + this.age;
  37.             }
  38.             else if ("A".Equals(format))
  39.             {
  40.                 flag = "A: " + this.name + "   " + this.age;
  41.             }
  42.             else
  43.             {
  44.                 flag = "啥玩意不是,你格式化个屁啊!";
  45.             }
  46.             return flag;
  47.         }
  48.         
  49.         //重写Object的ToString方法
  50.         public override string ToString()
  51.         {
  52.             return "OBJECT: " + this.name + "   " + this.age ;
  53.         }
  54.     }
  55. }

你可能感兴趣的:(C#中的格式化字符串)