gpt4 book ai didi

c# - 无法获取单个新行\n

转载 作者:行者123 更新时间:2023-11-30 20:56:02 25 4
gpt4 key购买 nike

我正在尝试通过在创建时传入字符串来在电子邮件正文中创建 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";

我看不出这两个列表之间有什么区别,也看不出为什么一个可以正常工作而另一个不能正常工作。任何帮助将不胜感激!

编辑 - 我想通了。感谢 Microbloft,Outlook 会自动删除它认为过多的换行命令。我通过在换行符之前添加一个句点来修复它,所以“.\n”。

最佳答案

代替

for (int i = 0; i < disabledUsers.Count; i++)
{
users += disabledUsers[i] + "\n";
}

使用更短的

var users = string.Join("\n", disabledUsers);

当然,您可以对过期的密码执行相同的操作。

如果出于某种原因它不能解决您的问题,只需在电子邮件正文中使用 Html 并用 <br /> 分隔即可。改为标记。

关于c# - 无法获取单个新行\n,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17835501/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com