C Sharp/Format

维基教科书,自由的教学读本
跳到导航 跳到搜索
页面正在进行版权验证
Copyright-problem.svg

请暂时不要修改本頁或重复创建相同内容的页面。 并請不要在討論期間編輯此頁面或移去此標示模板,以便解決版權問題。
如希望重新编寫本条目,請在不侵犯版權的原則下,用自己的话在临时页面中發表。

注意一個非常重要的原则:尊重他人的版权,只发表在公有領域GNU自由文档许可证,或知识共享许可协议下的内容。

如何解决

  • 若您是该文本的版权持有者,请参考授权流程
  • 若您不是版权持有者,请用自己的话重写本教科書
  • 若您认为这是误报,请到此页的相应段落留言。

提示

  • 版权常见问题解答 · 何為侵犯著作權
  • 七日之后未通过验证的页面将会被删除,若存在无版权问题的临时页面则将会替换本页面。
  • 张贴没有声明版权使用许可的材料也可能侵犯版权所有者的版权。
  • 假如您对版权尚有疑問,请参见版权FAQ。關於百度百科的版权問題,請參阅这里的说明
  • 重复侵犯版权的参与者將會被临时列入怀疑者名单中而不能编辑。
  • 在投票期间,原先条目的內容仍可透過历史链接中查看。
  • 我们仍然欢迎您贡献您的原作。

提出版权验证的维基人是:

格式化(formatting)是吧类或结构的实例或枚举值转化为字符串表示。用于显式结果字符串或以后反序列化(deserialize)以恢复最初的数据类型。.NET提供格式化机制。其反操作是字符串分析( Parsing Strings)。

格式化的基础机制是缺省实现的Object.ToString方法。一般输出类名字符串。.NET提供几种修改或扩展方法:[1]

  • 通过覆盖类型的Object.ToString方法,科定制对象值的字符串表示。基础类型都已经覆盖了Object.ToString方法,以表示其值而非类型名。
  • 定义format specifier,以允许对象值有多种表示。例如"X"格式化限定符把整数表示为十六进制:int integerValue = 60312; Console.WriteLine(integerValue.ToString("X")); // Displays EB98.
  • 使用format provider实现特定文化的格式化习惯。例如下例把通货值表示为英美习惯:double cost = 1632.54;Console.WriteLine(cost.ToString("C",new System.Globalization.CultureInfo("en-US"))); // The example displays the following output: $1,632.54
  • 实现IFormattable接口,支持Convert类和复合格式化。即Convert.ToString(Object, IFormatProvider) 。
  • 复合格式化(composite formatting)把值的字符串表示嵌入一个更大的字符串中。即 String.Format 和 StringBuilder.AppendFormat。格式化项用复合格式化字符串中基于0的索引表示其使用位置,后跟冒号和有效格式化字符串。如{2:C2}。逗号后面跟随正负数表示对齐宽度,如{0,-20:g}
  • 字符串插补(string interpolation)
  • 实现ICustomFormatter和IFormatProvider。前者提供单个方法 Format(String, Object, IFormatProvider)。

参考文献[编辑]

  1. Overview: How to format numbers, dates, enums, and other types in .NET by MSDN