繁体   English   中英

从VB.Net转换时C#代码错误

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM