好的,我在wsf文件中有一个vbscript字符串,如下所示:
Dim strTransData = "1,1,2,123457,1,20051012093000" & vbCrLf & _
"2,1" & vbCrLf & _
"2,2" & vbCrLf & _
"2,3" & vbCrLf & _
"3,""5449000000996"",0,3,39" & vbCrLf & _
"3,"""",100,1,500" & vbCrLf & _
"4,0,200,"""""
我需要做的是将此字符串转换为ac#string,我知道vbscript &amp; 转换为c#字符串连接中的 + 但是< strong> vbCrLf 和 _ 转换为?
答案 0 :(得分:3)
或者,您可以使用逐字字符串文字,在这种情况下,您的引号编码将保持不变,并且您的换行符是实际换行符:
string transData = @"1,1,2,123457,1,20051012093000
2,1
2,2
2,3
3,""5449000000996"",0,3,39
3,"""",100,1,500
4,0,200,""""";
答案 1 :(得分:2)
C#使用:
所以:
string strTransData = "1,1,2,123457,1,20051012093000" + "\r\n" +
"2,1" + "\r\n" +
"2,2" + "\r\n" +
"2,3" + "\r\n" +
"3,\"5449000000996\",0,3,39" + "\r\n" +
"3,\"\",100,1,500" + "\r\n" +
"4,0,200,\"\"";
答案 2 :(得分:2)
string TransData = new StringBuilder("1,1,2,123457,1,20051012093000",100).AppendLine("")
.AppendLine("2,1")
.AppendLine("2,2")
.AppendLine("2,3")
.AppendLine(@"3,""5449000000996"",0,3,39")
.AppendLine(@"3,"""",100,1,500")
.Append(@"4,0,200,""""")
.ToString();
这将避免任何字符串连接(在.Net中可能很慢)并预先分配一个可以保存整个结果字符串的缓冲区。请注意,使用未转义字符串可以更轻松地转换转义引号。
答案 3 :(得分:1)
Environment.NewLine
如果您有很多要转换的内容,请使用http://www.developerfusion.com/tools/convert/vb-to-csharp/之类的内容。
编辑:这个链接现在看来已经死了..还有其他免费的在线转换器。但对于像这样的字符串这么简单的东西;你可以手动完成;)答案 4 :(得分:0)
vbCrLf
是行尾(Environment.NewLine
)的同义词。
_
(下划线)允许在VB中使用多行语句。
另外,双引号""
是转义引号的VB方式。