[英]Error in C# code when converting from VB.Net
我从VB.Net转换了以下代码:
Private Sub UVTapHuanLuyen_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
txtPath.Text = strPath & "Dulieu\"
Dim di As New DirectoryInfo(txtPath.Text)
Dim tenfile, FS() As FileInfo
FS = di.GetFiles("*.txt")
For Each tenfile In FS
lstPath.Items.Add(tenfile.FullName)
Next
lblSoLuong.Text = lstPath.Items.Count
rd_ThuSpam.Checked = True
End Sub
在生成的C#代码中,我收到了txtPath.Text = strPath & "Dulieu\\"
的错误消息,我事先声明了strPath Object,但是仍然再次收到错误消息。 这是C#中的代码:
private void UV_Trains_Load(object sender, EventArgs e)
{
txt_Path.Text = strPath + "Dulieu\\";
DirectoryInfo di = new DirectoryInfo(txt_Path.Text);
FileInfo tenfile = default(FileInfo);
FileInfo[] FS = null;
FS = di.GetFiles("*.txt");
foreach (FileInfo element in FS)
{
tenfile = element;
lst_Path.Items.Add(txt_Path.Text);
}
lbl_Soluong.Text = lst_Path.Items.Count.ToString();
}
在C#中, "Dulieu\\"
的斜杠表示最后一个引号是字符串的一部分。 要解决此问题,可以使用双斜杠。
txtPath.Text = strPath + "Dulieu\\"
或者,您可以在字符串文字前加上@
符号,以将其标记为逐字字符串。
txtPath.Text = strPath + @"Dulieu\"
用+
替换&
。
在vb.net中, &
是字符串连接运算符,在c#中,正确的运算符是+
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.