Simples para começar o dia, considerando o Dictionary<string, string>seguinte:
var myDict = new Dictionary<string, string>();
myDict["A"] = "1";
myDict["B"] = "2";
myDict["C"] = "3";
myDict["D"] = "4";
Desejo criar uma string: "A=1;B=2;C=3;D=4"
Um exemplo de implementação:
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();
Observe que é provável que o dicionário tenha menos de 10 itens, o que sugere que um StringBuilder está exagerando.
Quais implementações alternativas são mais sucintas / eficientes? A estrutura possui algum recurso que ajude?