【发布时间】:2013-03-10 21:27:16
【问题描述】:
C# 中哪种创建字符串的方式运行时效率更高
第一名:
bool value = true;
int channel = 1;
String s = String.Format(":Channel{0}:Display {1}", channel, value ? "ON" : "OFF");
第二个:
bool value = true;
String channel = "1";
string s = ":Channel" + channel + ":Display " + value ? "ON" : "OFF";
【问题讨论】:
-
您确定这是一个性能问题吗?选择更易读的一个(IMO
Format) -
@Bart Friederichs:性能问题通常没有共同点。尝试按照其他人的解决方案解决自己的性能问题通常是个坏主意,因为即使环境的微小差异也可能带来巨大的结果差异。
-
不,没有性能问题。我知道预优化是万恶之源。但我来自其他性能罕见的硬件。如果我实现了一些新的东西,不管我是这样做还是那样做都没有关系——所以我可以第一次就做好。之后的所有更改都很糟糕......
-
@DGibbs 真;我认为应该是
string s = ":Channel" + channel + ":Display " + (value ? "ON" : "OFF"); -
第一个无论性能如何都要好得多:第一个技术允许您将字符串隔离到可本地化的资源中。
标签: c# string performance