它非常難以診斷此沒有看到至少要傳遞的字符串的例子,但有一兩件事,我傾向於在我的C#代碼要做的就是使用常量:
Environment.NewLine
還是我使用帶有AppendLine()調用的StringBuilder類來添加換行符。
編輯:根據你的代碼片段,我會這樣寫它(它也會更高效)。用你的代碼片斷,大量的字符串被分配(因爲字符串是不可變的)。在這種情況下推薦的方法是使用StringBuilder。
StringBuilder address = new StringBuilder();
address.AppendLine(name);
address.AppendLine(strasse);
address.Append(plz.ToString()); // This may not be neccessary depending on the type of plz, StringBuilder has overloads that will convert base types to string for you
address.Append(" ");
address.Append(ort);
if (!string.IsNullOrEmpty(telefon))
{
address.AppendLine();
address.Append("Telefon:: ");
address.Append(telefon);
}
if (!string.IsNullOfEmpty(natel))
{
address.AppendLine();
address.Append("Natel: ");
address.Append(natel);
}
if (!string.IsNullOrEmpty(mail))
{
address.AppendLine();
address.Append("E-Mail: ");
address.Append(mail);
}
return address.ToString();
注:如果您使用的是.NET 4.0中,您可以使用string.IsNullOrWhitespace代替IsNullOrEmpty檢查不只是一個空字符串,而是一個只包含空格。
編輯2 - 基於您需要的答案< br/>標籤而不是換行符。
const string newLine = " <br /> ";
StringBuilder address = new StringBuilder();
address.Append(name);
address.Append(newLine);
address.Append(strasse);
address.Append(newLine);
address.Append(plz.ToString()); // This may not be neccessary depending on the type of plz, StringBuilder has overloads that will convert base types to string for you
address.Append(" ");
address.Append(ort);
if (!string.IsNullOrEmpty(telefon))
{
address.Append(newLine);
address.Append("Telefon:: ");
address.Append(telefon);
}
if (!string.IsNullOfEmpty(natel))
{
address.Append(newLine);
address.Append("Natel: ");
address.Append(natel);
}
if (!string.IsNullOrEmpty(mail))
{
address.Append(newLine);
address.Append("E-Mail: ");
address.Append(mail);
}
return address.ToString();
代碼片段在這裏會有很大的幫助。 – 2010-11-08 14:27:47