2

作成時に文字列を渡して、メール本文に 2 つのアイテム リストを作成しようとしています。リストの 1 つは問題なく完全に機能します (意図したとおり、各エントリは新しい行にあります) が、同じ方法でフォーマットされた他のリストを取得する方法がわかりません。改行がないか、2 行間隔になっています。System.environment.newline、「\r\n」、「\n」、「\n」などを試しました。コードにブレークポイントを設定すると、文字列の適切な部分に「\n」が含まれます場所ですが、メールの作成時に表示されません。任意のヒント?

string users = "";
for (int i = 0; i < disabledUsers.Count; i++)
{
    users += disabledUsers[i] + "\n"; //This does not show up as a new line for each item in an email
}

// initializing users with expired passwords to a string format
string expiredUserPasswords = "";
for (int i = 0; i < expiredPassword.Count; i++)
{
    expiredUserPasswords += expiredPassword[i] + "\n"; //this works perfectly
}

// creating admin message
MailMessage emailAdmin = new MailMessage();
emailAdmin.From = new MailAddress("email.email@email.com");
emailAdmin.Body = "Automated system message:\n\nThe following " + numExpiredPasswords + " accounts have expired passwords and have been disabled:\n\n" + expiredUserPasswords + "\n\nThe following " + numDisabledAccounts + " accounts have been disabled for 90+ days:\n\n" + users + "\n\nThere are " + activeNum + " active users, " + numDisabled + " disabled users, and " + totalNum + " total users.\n\nThis is an automatically generated email. Please do not reply.";
emailAdmin.Subject = "Dataroom cleanup log";

これら 2 つのリストの違いがわかりません。なぜ一方が正常に機能し、もう一方が機能しないのか。どんな助けでも大歓迎です!

編集 - 私はそれを理解しました。Microbloft のおかげで、Outlook は余分な改行コマンドと思われるものを自動的に削除します。改行の直前にピリオドを追加するだけで修正したので、「.\n」.

4

4 に答える 4

1

を使用する Unix プラットフォーム上の新しい行には:"\r\n"を使用し、Unix プラットフォームでは を使用し"\n"ますが、使用することもできEnvironment.NewLine、それが決定します。

于 2013-07-24T13:38:22.463 に答える
0

私はそれを考え出した。Microbloft のおかげで、Outlook は余分な改行コマンドと思われるものを自動的に削除します。改行の直前にピリオドを追加するだけで修正しました。

    users += disabledUsers[i] + ".\n"; 
于 2013-07-26T14:37:19.177 に答える