轻松开始新的一天,给出一个如下的Dictionary<string, string>
:
var myDict = new Dictionary<string, string>();
myDict["A"] = "1";
myDict["B"] = "2";
myDict["C"] = "3";
myDict["D"] = "4";
我希望创建一个字符串: "A=1;B=2;C=3;D=4"
一个示例实现:
var myStringBuilder = new StringBuilder();
bool first = true;
foreach (KeyValuePair<string, string> pair in myDict)
{
if (first)
{
first = false;
}
else
{
myStringBuilder.Append(";");
}
myStringBuilder.AppendFormat("{0}={1}", pair.Key, pair.Value);
}
var myDesiredOutput = myStringBuilder.ToString();
请注意,字典可能少于10个条目,这表明使用StringBuilder会过度。
有哪些更为简洁/高效的替代实现?框架是否具有任何有助于的特性?
string.Format
;而我则更喜欢像这样简单的字符串拼接,即k+"="+v
。我想每个人都有自己的偏好吧... - LukeHstring.Join(", ", myDict)
。它将以[A, 1],[B, 2],[C, 3],[D, 4]
的形式输出。 - altumano