C#中,对象格式化的理解

对象格式化,指的是以一定的方式(可用户自定义,也可利用现有的格式说明符)来显示对象,如数字类型的常见格式说明符:

格式符

 

 

 

C

数字类型

专用场合的货币值

$4834.50 (USA)

£4834.50 (UK)

D

只用于整数类型

一般的整数

4834

E

数字类型

科学计数法

4.834E+003

F

数字类型

小数点后的位数固定

4384.50

G

数字类型

一般的数字

4384.5

N

数字类型

通常是专用场合的数字 格式

4,384.50 (UK/USA)

4 384,50 (欧洲大陆)

P

数字类型

百分比计数法

432,000.00%

X

只用于整数类型

16进制格式

1120 (如果要显示0x1120,需要写上0x)


字符串格式化,是很常见的,在我们的程序开发中。 string对象之静态方法Format,就是用来进行对象格式化的,定义: public static string Format(string format, object obj);   该方法有多个重载,其工作原理一样,步骤如下:
1、用obj对象去替代format中的格式说明符
2、处理obj的显示(调用其合适的ToString()方法)
   a: obj inherits IFormattable , 调用obj的实现IFormattable接口中的带2个参数的ToString()方法
   b: 非a,则调用obj.ToString()方法(如果未重写,则直接继承System.Object类的ToString()方法)
IFormattable定义如下:

interface IFormattable

{

   string ToString(string format, IFormatProvider formatProvider);

}

3、用户自定义对象的格式化,则需要继承IFormattable接口,实现其带2个参数的ToString()方法即可,format:包含格式说明符的字符串 formatProvider:文化背景信息,为空时,用的系统设置中指定的文化背景信息
posted @ 2006-07-01 02:44  FallingAutumn  阅读(559)  评论(0编辑  收藏  举报