一个实现 IFormattable 接口的例子
来源:互联网 发布:b2b2c源码 编辑:程序博客网 时间:2024/03/29 07:55
摘自 《Professional C# 4 and .NET 4》
class Program { static void Main() { Vector v1 = new Vector(1, 32, 5); Vector v2 = new Vector(845.4, 54.3, -7.8); Console.WriteLine("\nIn IJK format,\nv1 is {0,30:IJK}\nv2 is {1,30:IJK}", v1, v2); Console.WriteLine("\nIn default format,\nv1 is {0,30}\nv2 is {1,30}", v1, v2); Console.WriteLine("\nIn VE format\nv1 is {0,30:VE}\nv2 is {1,30:VE}", v1, v2); Console.WriteLine("\nNorms are:\nv1 is {0,20:N}\nv2 is {1,20:N}", v1, v2); Console.ReadKey(); } } struct Vector : IFormattable { public double x, y, z; public Vector(double x, double y, double z) { this.x = x; this.y = y; this.z = z; } public string ToString(string format, IFormatProvider formatProvider) { if (format == null) return ToString(); string formatUpper = format.ToUpper(); switch (formatUpper) { case "N": return "|| " + Norm() + " ||"; case "VE": return String.Format("( {0:E}, {1:E}, {2:E} )", x, y, z); case "IJK": StringBuilder sb = new StringBuilder(x.ToString(), 30); sb.Append(" i + "); sb.Append(y.ToString()); sb.Append(" j + "); sb.Append(z.ToString()); sb.Append(" k"); return sb.ToString(); default: return ToString(); } } public double Norm() { return x * x + y * y + z * z; } }
- 一个实现 IFormattable 接口的例子
- C# IFormattable接口,实现自定义的字符串格式化方法
- C# 自定义格式字符串随笔(IFormattable,IFormatProvider,ICustomFormatter三接口的实现)
- 自定义格式字符串随笔(IFormattable,IFormatProvider,ICustomFormatter三接口的实现)
- C# 自定义格式字符串随笔(IFormattable,IFormatProvider,ICustomFormatter三接口的实现)
- C# 自定义格式字符串随笔(IFormattable,IFormatProvider,ICustomFormatter三接口的实现)
- 简单的System.IFormattable实现示例:
- 自定义ToString(),实现IFormattable.ToString()及IFormatProvider接口
- 实现自定义IFormattable
- IComparable<>,IFormattable,IEnumerable<>接口使用
- 一个面向接口编程的好例子
- 一个面向接口编程的好例子
- 一个面向接口编程的好例子
- 一个面向接口编程的好例子
- 一个使用 seq_file 接口的 proc_fs 例子
- c#接口简单易懂的一个例子
- 接口理解的一个小例子
- 面向接口编程的一个小例子
- 【HDU2571】命运
- 用linux装逼->各文件夹的作用
- 【Eclipse及其插件下载网址大全】
- Unix/Linux中rc代表什么意思
- 怎样能用picturebox切换图片 就是有一个按钮上一张 下一张那样
- 一个实现 IFormattable 接口的例子
- TopCoder 2 Lottery
- windows垃圾清理源代码 C/C++
- 学习Web应用漏洞最好的教程----WebGoat
- Linux系统启动的基本过程和步骤
- Flex项目与SSH项目整合问题记录
- Sicily 4700 小明与奶牛 (难得水题)
- Jquery中对象的写法问题
- Java编程技巧:小爬虫程序