----------------------------------------------主程序

usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;namespaceConsoleApplication4{classProgram{staticvoidMain(string[]args){//自定义格式化字符串Voctorv=newVoctor(3d,4d,5d);Console.WriteLine("{0:zhang}",v);//Zhang:(3,4,5)Console.WriteLine("{0:liu}",v);//Liu:(3,4,5)Console.ReadKey();}}}

----------------------------------------------Voctor.cs

usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;namespaceConsoleApplication4{//自定义格式化字符串类或结构必须实现IFormattable接口publicclassVoctor:IFormattable{doublex,y,z;publicVoctor(doubled1,doubled2,doubled3){this.x=d1;this.y=d2;this.z=d3;}//format表示传递的说明符,例如N(不用考虑formatProvider)publicstringToString(stringformat,IFormatProviderformatProvider){if(format==null){returnToString();}//不区分大小写stringformatUpper=format.ToUpper();switch(formatUpper){case"ZHANG":return"Zhang:"+ToString();case"LIU":return"Liu:"+ToString();default:returnToString();}}publicoverridestringToString(){returnstring.Format("({0},{1},{2})",x,y,z);}}}