从一些旧的VB代码复制C#中的函数,以对电子邮件文本执行字符串操作。我不确定这是否适用于所有情况......任何人都可以确认我对正确使用的C#代码的看法吗?这些是等价的吗?
原创VB:
function FixText(Mail_Text)
dim Clean_Text
Clean_Text = Mail_Text
Clean_Text = Replace(Clean_Text, "=" & vbcrlf, "")
Clean_Text = Replace(Clean_Text, ";" & vblrcf, "")
` ... other stuff
FixText = Clean_Text
End Function
新C#:
public String FixText(Mail_Text)
{
String Clean_Text = Mail_Text;
Clean_Text = Clean_Text.Replace("=" + System.Environment.NewLine, "");
Clean_Text = Clean_Text.Replace(";" + System.Environment.NewLine, "");
// ... other stuff
return Clean_Text;
}
答案 0 :(得分:5)
从技术上讲,他们不是。 vbcrlf
是一个字符串常量,等于C#中的"\r\n"
。
System.Environment.NewLine
是一个在Windows系统上返回"\r\n"
的属性,但在基于Unix的系统(Linux和OS X)上返回"\n"
,更常见的意思是“用于该系统的行终止符目前的平台。“ vbcrlf
将始终成为Windows CR + LF行终止符,无论代码运行的是什么平台。
您应该使用哪一个最终取决于该文本的使用方式,而且无法从您问题中的其他信息中充分推断出这一点。
答案 1 :(得分:0)
您使用C#escape sequences:
Clean_Text = Clean_Text.Replace("=\r\n", "");
Clean_Text = Clean_Text.Replace(";\r\n", "");
\r
是回车的转义序列,\n
是新行的转义序列。