我想获取由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);
}
}
}
}