字符串替换C#中VB语句(“”&;vbcrlf)的等价项

本文关键字:vbcrlf amp 替换 VB 语句 字符串 | 更新日期: 2023-09-27 18:28:09

从一些旧的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;
}

字符串替换C#中VB语句(“”&;vbcrlf)的等价项

从技术上讲,它们不是。CCD_ 1是与C#中的CCD_ 2相等的字符串常数。

System.Environment.NewLine是一个属性,在Windows系统上返回"'r'n",但在基于Unix的系统(Linux和OS X)上返回"'n",通常表示"当前平台的行终止符"。无论代码在哪个平台上运行,vbcrlf都将始终为Windows CR+LF行终止符。

你最终应该使用哪一个取决于文本的使用方式,而这无法从你问题中的其他信息中充分推断出来。

您使用C#转义序列:

Clean_Text = Clean_Text.Replace("='r'n", "");
Clean_Text = Clean_Text.Replace(";'r'n", "");
  • CCD_ 7是用于回车的转义序列
  • 'n是一个新行的转义序列