为什么我的Dictionaryis在没有ref的情况下返回

时间:2015-10-14 16:18:22

标签: c# list dictionary

这段代码有效,但我不明白它背后的原因(它只是程序的一部分)我主要担心的是我的词典是如何充满阅读方法的?我没有使用任何引用,但不知何故void方法返回一个值,它是如何可能的?

我正在阅读3个不同的文件。并且不知何故,他们都被放在单个词典中,有人能告诉我确切的行吗?

        Dictionary<string, Atstovybe> Atstovybes = new Dictionary<string, Atstovybe>();

        Atstovybes.Add("InfoSA", new Atstovybe("InfoSA"));
        Atstovybes.Add("Statius", new Atstovybe("Statius"));
        Atstovybes.Add("VfSA", new Atstovybe("VfSA"));

        string[] filepaths = Directory.GetFiles(Directory.GetCurrentDirectory(), "*.txt");

        foreach (string file in filepaths)
        {
            SkaitytiDuomenis(file,   Atstovybes);
        }


    public static void SkaitytiDuomenis(string file,  Dictionary<string, Atstovybe> Atstovybes)
    {

        string AtstovybePav = null;

        using (StreamReader reader = new StreamReader(@file))
        {
            string line = null;
            line = reader.ReadLine();
            if (line != null)
            {
                AtstovybePav = line;
            }

            Atstovybe atstovybe = Atstovybes[AtstovybePav];

            while (null!= (line=reader.ReadLine()))
            {
                string[] values = line.Split(';');

                string tema = values[0];
                int sudetingumas = int.Parse(values[1]);
                string autorius = values[2];
                string tekstas = values[3];
                string var1 = values[4];
                string var2 = values[5];
                string var3 = values[6];
                string var4 = values[7];
                string teisingas = values[8];
                int balai = int.Parse(values[9]);

                Klausimas klausimas = new Klausimas(tema, sudetingumas, autorius, tekstas, var1, var2, var3, var4, teisingas, balai);

                atstovybe.Klausimai.Add(klausimas);

            }


        }

    }

1 个答案:

答案 0 :(得分:-2)

<强> atstovybe.Klausimai.Add(klausimas); SkaitytiDuomenis 方法中的行,它是通过引用添加值。