VB对应的等效C#代码

时间:2016-08-17 12:36:12

标签: c# vb.net winforms

我正在将一些VB代码转换为C#。我现在用VB

写了这两个陈述
Dim LineSeparator As Char = Convert.ToChar(10)
        Dim DataSeparator As Char = Convert.ToChar(";")

我检查了Watch窗口中的值,可以看到类似这样的内容

Name            Value   Type        

LineSeparator   ""c     Char

DataSeparator   ";"c    Char

我写了类似的C#陈述

char LineSeparator = Convert.ToChar(10);
char DataSeparator = Convert.ToChar(";");

但手表显示的结果不同。像这样的东西

LineSeparator   10 '\n' char


DataSeparator   59 ';'  char

我在这做什么错?我是否需要在参数周围放置单引号?

1 个答案:

答案 0 :(得分:1)

没有结果是正确的,只是调试窗口用来显示C#和VB.NET之间某些常量值的方式不同

代码10的字符是LineFeed字符(不可打印的字符),VB中的调试器不会在双引号之间显示任何内容(但字符在那里)。在C#调试器中,这些不可打印的字符由转义前缀(\)表示,后面跟一些字母定义。

对于分号而言,问题是VB.NET对单个字符和字符串都使用相同的引号。因此,他们添加了字母“c”来表明这是一个char值而不是字符串。相反,C#使用围绕字符常量的单引号