为什么要使用占位符?

时间:2016-02-29 02:04:17

标签: c# methods placeholder

我在c#中有一个迷你项目。我对c#相当新,并且想知道为什么我应该使用占位符{0}而不是+。有什么不同吗?使用一个优于另一个有什么好处?

以下是一个例子 -

 public void DisplayMessage()
  {
    Console.WriteLine("Student Name:"+ Name); // Why not this
    Console.WriteLine("Studnt Age: {0}", Age);// instead of this?
  }

谢谢

1 个答案:

答案 0 :(得分:2)

格式化字符串比添加字符串更清晰,尤其是当您有两个以上的参数时。

static readonly string UrlFormat = "{0}://{1}/{2}?{3}";  //the format can be reused
var url = string.Format(UrlFormat, scheme, host, path, query);
var anotherUrl = string.Format(UrlFormat, scheme2, host2, path2, query2);
var bad = scheme3 + "://" + host3 + "/" + path3 + "?" + query3;  

顺便说一下,在C#6中,格式可以更漂亮:

var urlUsingNewFeature = $"{scheme}://{host}/{path}?{query}";

您可以看到它们之间的维护成本。

性能添加字符串的唯一好处是,当您添加两个字符串时,它比字符串格式化更快。

"Student Name: " + name

快一点
string.Format("Student Name: {0}", name)

之前我做了基准测试,添加< = 3字符串比使用string.Format更快。但IMO你仍然应该使用string.Format,微小的性能提升并不重要。