gpt4 book ai didi

c# - {0} 和 + 有什么区别?

转载 作者:可可西里 更新时间:2023-11-01 08:51:48 24 4
gpt4 key购买 nike

{0}+ 的使用有什么区别吗,因为它们都在做同样的工作,即打印 length屏幕:

Console.WriteLine("Length={0}", length);
Console.WriteLine("Length=" + length);

最佳答案

在您的简单示例中没有区别。但是有充分的理由更喜欢格式化 ({0}) 选项:它使国际软件的本地化变得非常非常容易,并且使第三方编辑现有字符串变得更加容易。

例如,假设您正在编写一个产生此错误消息的编译器:

"Cannot implicitly convert type 'int' to 'short'"

你真的要写代码吗

Console.WriteLine("Cannot implicitly convert type '" + sourceType + "' to '" + targetType + "'");

?天哪,不。您想将此字符串放入资源中:

"Cannot implicitly convert type '{0}' to '{1}'"

然后写

Console.WriteLine(FormatError(Resources.NoImplicitConversion, sourceType, targetType));

因为这样您就可以自由决定是否要将其更改为:

"Cannot implicitly convert from an expression of type '{0}' to the type '{1}'"

或者

"Conversion to '{1}' is not legal with a source expression of type '{0}'"

英语专业的学生可以稍后做出这些选择,而无需更改代码。

您还可以将这些资源翻译成其他语言,同样无需更改代码

现在开始总是使用格式化字符串;当您需要编写正确使用字符串资源的可本地化软件时,您已经养成了习惯。

关于c# - {0} 和 + 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16367027/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com