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

时间:2014-04-13 10:34:16

标签: c# 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对象,但我仍然收到错误。 这是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();

    }

2 个答案:

答案 0 :(得分:3)

在C#中,"Dulieu\"中的斜杠表示最后一个引号是字符串的一部分。要修复它,可以使用双斜杠。

txtPath.Text = strPath + "Dulieu\\"

或者,您可以在字符串文字前加上@符号,以将其标记为逐字字符串。

txtPath.Text = strPath + @"Dulieu\"

答案 1 :(得分:2)

&替换为+ 在vb.net中,&是一个字符串连接运算符,在c#中,正确的运算符是+