C# 在其创建的空白之外使用字典
当我点击一个按钮时,我不确定如何使用我创建的字典,这意味着我不能从另一个函数中引用它。这可能是非常基本的,但我根本不记得这是如何做到的 此按钮打开文件对话框,然后读取文件中的每一行,并将内容存储在字典中:C# 在其创建的空白之外使用字典,c#,winforms,dictionary,filedialog,C#,Winforms,Dictionary,Filedialog,当我点击一个按钮时,我不确定如何使用我创建的字典,这意味着我不能从另一个函数中引用它。这可能是非常基本的,但我根本不记得这是如何做到的 此按钮打开文件对话框,然后读取文件中的每一行,并将内容存储在字典中: private void button1_Click(object sender, EventArgs e) { OpenFileDialog openFileDialog1 = new OpenFileDialog(); openFileDialog1.Filter = "M
private void button1_Click(object sender, EventArgs e)
{
OpenFileDialog openFileDialog1 = new OpenFileDialog();
openFileDialog1.Filter = "Mod Pack Configuration file|*.mcf";
openFileDialog1.Title = "Load Mod Pack Configuration File";
openFileDialog1.ShowDialog();
if (openFileDialog1.FileName != "")
{
Dictionary<string, string> loadfile =
File.ReadLines(openFileDialog1.FileName)
.Select(line => line.Split(';'))
.ToDictionary(parts => parts[0], parts => parts[1]);
}
}
我当然可以在button1 click事件中编写函数,但由于我在其他地方的程序中使用了此函数,因此以后会给我带来一些麻烦在类级别定义字典,在方法之外,如:
Dictionary<string, string> loadfile;
loadFile当前是一个局部变量,仅在button1\u Click范围内可用。如果您希望它在多个方法中可用,您应该将其设置为类中的字段
private Dictionary<string, string> loadfile;
private void button1_Click(object sender, EventArgs e)
{
OpenFileDialog openFileDialog1 = new OpenFileDialog();
openFileDialog1.Filter = "Mod Pack Configuration file|*.mcf";
openFileDialog1.Title = "Load Mod Pack Configuration File";
openFileDialog1.ShowDialog();
if (openFileDialog1.FileName != "")
{
loadfile =
File.ReadLines(openFileDialog1.FileName)
.Select(line => line.Split(';'))
.ToDictionary(parts => parts[0], parts => parts[1]);
}
}
你能把这本词典变成全球性的吗?
loadfile = File.ReadLines(openFileDialog1.FileName)
.Select(line => line.Split(';'))
.ToDictionary(parts => parts[0], parts => parts[1]);
private Dictionary<string, string> loadfile;
private void button1_Click(object sender, EventArgs e)
{
OpenFileDialog openFileDialog1 = new OpenFileDialog();
openFileDialog1.Filter = "Mod Pack Configuration file|*.mcf";
openFileDialog1.Title = "Load Mod Pack Configuration File";
openFileDialog1.ShowDialog();
if (openFileDialog1.FileName != "")
{
loadfile =
File.ReadLines(openFileDialog1.FileName)
.Select(line => line.Split(';'))
.ToDictionary(parts => parts[0], parts => parts[1]);
}
}