从一些旧的 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;
}
最佳答案
从技术上讲,它们不是。 vbcrlf
是一个字符串常量,等于 C# 中的 "\r\n"
。
System.Environment.NewLine
是一个在Windows系统上返回"\r\n"
的属性,但是返回"\n"
在基于 Unix 的系统(Linux 和 OS X)上,更普遍的意思是“当前平台的行终止符”。 vbcrlf
将始终是 Windows CR+LF 行终止符,无论代码在哪个平台上运行。
您最终应该使用哪一个取决于该文本的使用方式,并且无法从您问题中的其他信息中充分推断出这一点。
关于c# - C# 中 VB 语句 (";"& vbcrlf) 的字符串替换等效项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18317952/