从具有不同行长的文件读取

时间:2018-10-21 11:46:21

标签: c#

有人知道当行长不同时如何从文件读取到数组(带有继承的容器)吗?(我希望语言障碍不会造成任何问题:))

 Sportas Skaitymas(Sportas sportas)
        {
            SportininkasCointainer sportininkai = new SportininkasCointainer();
            KomandaContainer komandos = new KomandaContainer();

            using (StreamReader reader = new StreamReader("Duomenys.txt"))
            {
                string line = null;
                while ((line = reader.ReadLine()) != null)
                {
                    string[] values;

                    values = line.Split(';');                    
                    string a = values[0];
                    string b = values[1];
                    string c = values[2];
                    string d = values[3];
                    string e = values[4];
                    string f = values[5];
                    string g = values[6];

                    switch (values.Length)
                    {
                        case 7:
                            Krepsininkas krepsininkas = new Krepsininkas(a, b, c, int.Parse(d), int.Parse(e), int.Parse(f), int.Parse(g));
                            sportininkai.AddSportinkas(krepsininkas as Krepsininkas);
                            break;

                        case 6:
                            Futbolininkas futbolininkas = new Futbolininkas(a, b, c, int.Parse(d), int.Parse(e), int.Parse(f));
                            sportininkai.AddSportinkas(futbolininkas as Futbolininkas);
                            break;

                        case 4:
                            Komanda komanda = new Komanda(a, b, c, int.Parse(d));
                            komandos.AddKomanda(komanda);
                            break;
                    }  
                }
            return sportas;
    }

我将非常感激:)

1 个答案:

答案 0 :(得分:2)

您可以使用:

string a = values.Length > 0 ? values[0] : "";
string b = values.Length > 1 ? values[1] : "";

在这里,仅当存在值时才设置字符串,否则它将为“”