2024年6月20日发(作者:)
00
使用C#格式化字符串
如果你熟悉Microsoft Foundation Classes(MFC)的CString,Windows Template Libr
ary(WTL)的CString或者Standard Template Library(STL)的字符串类,那么你对S
方法肯定很熟悉。在C#中也经常使用这个方法来格式化字符串,比如下面这
样:
intx=16;
decimaly=3.57m;
stringh=("item{0}sellsat{1:C}",x,y);
ine(h);
在我的机器上,可以得到下面的输出:
item16sellsat¥3.57
也许你的机器上的输出和这个不太一样。这是正常的,本文稍后就会解释这个问题。
在我们日常使用中,更多的是使用ine方法来输出一个字符串。其实和C
ine有很多共同点。两个方法都有很多重载的格式并且采用无固定参数的对象数组作为最后
一个参数。下面的两个语句会产生同样的输出。
ine("Hello{0}{1}{2}{3}{4}{5}{6}{7}{8}",123,45.67,true,'Q',4,5,6,7,
'8');
stringu=("Hello{0}{1}{2}{3}{4}{5}{6}{7}{8}",123,45.67,true,'Q',4,5,
6,7,'8');
ine(u);
输出如下:
Hello12345.67TrueQ45678
Hello12345.67TrueQ45678
2 字符串格式
和WriteLine都遵守同样的格式化规则。格式化的格式如下:"{ N [, M ][: formatString ]}",
arg1, ... argN,在这个格式中:
00
1) N是从0开始的整数,表示要格式化的参数的个数
2) M是一个可选的整数,表示格式化后的参数所占的宽度,如果M是负数,那么格式化后的值就是左对
齐的,如果M是正数,那么格式化后的值是右对齐的
3) formatString是另外一个可选的参数,表示格式代码
argN表示要格式化的表达式,和N是对应的。
如果argN是空值,那么就用一个空字符串来代替。如果没有formatString,那么就用参数N对应的ToStr
ing方法来格式化。下面的语句会产生同样的输出:
publicclassTestConsoleApp
{
publicstaticvoidMain(string[]args)
{
ine(123);
ine("{0}",123);
ine("{0:D3}",123);
}
}
输出是:
123
123
123
也可以通过得到同样的输出。
strings=("123");
stringt=("{0}",123);
stringu=("{0:D3}",123);
ine(s);
ine(t);
ine(u);
发布者:admin,转转请注明出处:http://www.yc00.com/news/1718830813a2752924.html
评论列表(0条)