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]);
    }
}