C# 显示文本语法,两种不同的方法,哪种更好,为什么?

C# 显示文本语法,两种不同的方法,哪种更好,为什么?,c#,C#,C#(或其他编程语言)中的语法与在应用程序中显示文本之间的优势是什么 decimal fooTotal = 2.53; 例如: Console.WriteLine("Filtered total: {0:c}", fooTotal); VS 我在更多的例子和书籍中看到了第一种方法(目前我正在阅读的是MVC 3书籍),但我学到了方法2。我可以假设方法一可以让你快速改变值?第一个值也将以货币显示,我也认为货币更简洁?第一种形式将应用于该值,将其视为货币。要将第二个代码段更改为类似的行为,可以使用

C#(或其他编程语言)中的语法与在应用程序中显示文本之间的优势是什么

decimal fooTotal = 2.53;
例如:

Console.WriteLine("Filtered total: {0:c}", fooTotal);
VS


我在更多的例子和书籍中看到了第一种方法(目前我正在阅读的是MVC 3书籍),但我学到了方法2。我可以假设方法一可以让你快速改变值?第一个值也将以货币显示,我也认为货币更简洁?

第一种形式将应用于该值,将其视为货币。要将第二个代码段更改为类似的行为,可以使用:

Console.WriteLine("Filtered total: " + fooTotal.ToString("c"));

我通常只对一个参数使用字符串连接(第二种形式),但是当我有多个值要包含,或者我想指定一个格式说明符时,我会使用
string.format
或等效的(
Console.WriteLine
在这里为您有效地调用
string.format

我个人更喜欢
string.Format()
/第一次显示的替代方案。最大的优点是,它允许您将打印参数的方式(文本表示)与数据(参数本身)分开。打印的变量越多,(对我来说)越干净与字符串连接选项相比。

string.Format()
在本地化场景中也更好,在本地化场景中,您可以从
StringTable
中取出字符串,并获取参数(您不知道这些参数在字符串中的位置和顺序)从您的代码中。

我觉得这是一个品味问题……您可以看看这个问题:
Console.WriteLine("Filtered total: " + fooTotal.ToString("c"));