字符串变量在get方法中突然改变

时间:2019-04-12 06:07:41

标签: c# string forms folderbrowserdialog

我想获取由folderBrowserDialog声明的变量(路径)。我在控制台输出中检查了我的ChooseFolder()方法,以获取正确的变量声明,以及我想安全保存在变量中的纯文本。

但是现在,当我创建一个“ get”方法(用于访问另一个类中的路径)时,String文本以一种非常奇怪的方式改变。

ChooseFolder()中的路径变量输出:
C:\ Users \ drzuprano \ Desktop

getFolderBrowserDialogPath()中的路径变量输出:
@“ C:\”

为什么它会随机添加引号,添加“ @”并删除我的其余路径?我对此没有做任何事情,它仍然与我的ChooseFolder()方法中的声明相同。

在ChooseFolder()方法中,我将路径分配给label.Text,并且我已经尝试获取通过label.Text的路径。结果还是一样。每次我想用ChooseFolder()以外的其他方法访问变量“ path”时,它都会变为您可以在上面看到的奇怪输出。

ChooseFolder()和getFolderBrowserDialogPath()方法代码

public partial class Form1 : Form
{
    public void ChooseFolder()
    {
         if (folderBrowserDialog1.ShowDialog() == DialogResult.OK)
         {
              path = folderBrowserDialog1.SelectedPath;
              label5.Text = path;

              Console.WriteLine(path); //output C:\Users\drzuprano\Desktop
         }
    }

    public String getFolderBrowserDialogPath()
    {
        Console.WriteLine(folderBrowserDialog1.SelectedPath); //output @"C:\"

        return folderBrowserDialog1.SelectedPath;
    }

}

类函数(我要在其中获取路径变量)

public class Functions
{
    public void createTreeView()
    {
        Form1 thisForm = new Form1();

        TreeView treeView1 = thisForm.getTreeView();

        String path = thisForm.getFolderBrowserDialogPath();

        Console.WriteLine(path);

        foreach (string directory in Directory.GetDirectories(path))
        {
            TreeNode treeNode = new TreeNode(directory);
            treeView1.Nodes.Add(treeNode);

            foreach (string underDirectory in Directory.GetDirectories(directory))
            {
                TreeNode underTreeNode = new TreeNode(underDirectory);
                treeView1.Nodes.Add(underTreeNode);
            }
        }
    }
}

0 个答案:

没有答案