2

我是 c# 编程的新手,我有一个问题:我想在行首添加索引号,示例:

1. m.vardas  m.pavarde  m.adresas  m.telnum  m.uzrasai

我认为必须有比读取文件更好的方法并计算所有行以获取文件中的行数。这是我的代码:

    class Mokiniai // students
    {
        struct Mokinys // student
        {
            public string vardas; // name
            public string pavarde; //last name
            public string adresas; //address
            public string telnum; //phone number
            public string uzrasai; //notes
        };
        //.........................................................
        public static void mokirasymas()
        {
            Mokinys m;
            //...................................................
            Console.WriteLine("Iveskite Mokinio varda: "); // input student name
            m.vardas = Console.ReadLine();
            Console.WriteLine("Iveskite Mokinio pavarde: "); // input student lastname
            m.pavarde = Console.ReadLine();
            Console.WriteLine("Iveskite Mokinio adresa: "); // input address
            m.adresas = Console.ReadLine();
            Console.WriteLine("Iveskite Mokinio telefono numeri: "); //input number
            m.telnum = Console.ReadLine();
            Console.WriteLine("Iveskite pastabas apie Mokini: "); //input notes
            m.uzrasai = Console.ReadLine();
            string mokinys = String.Format("|{0,15}|{1,15}|{2,15}|{3,15}|{4,15}|", m.vardas, m.pavarde, m.adresas, m.telnum, m.uzrasai);
 using (TextWriter writer = File.AppendText("text.txt"))
            {
                //
                // Only first time  when program is used
                //
                //writer.WriteLine("|-------------------------------------------------------------------------------|");
                //writer.WriteLine("|    Vardas     |    Pavarde    |    Adresas    |  Tel.Numeris  |    Pastabos   |");
                //writer.WriteLine("|-------------------------------------------------------------------------------|");
                //
                // 
                //
                writer.Write(mokinys);
                //
                // Iraso nauja eilute i faila
                //
                writer.Write(writer.NewLine);
            }
        }

谢谢你的帮助。

4

1 回答 1

0

可能有比读取整个文件来计算行数更好的方法(读取最后一行?你能相信它吗?)对于文件中有多少行没有特殊的文件属性。

如果您想知道您使用的行数File.ReadLines()

请注意有关 ReadLines 与 ReadAllLines 的相关信息:

ReadLines 和 ReadAllLines 方法的区别如下: 使用 ReadLines 时,可以在返回整个集合之前开始枚举字符串集合;使用 ReadAllLines 时,必须等待返回整个字符串数组才能访问该数组。因此,当您处理非常大的文件时,ReadLines 会更有效率。

这是一个例子:

var numLines = File.ReadLines(@"text.txt").Count();

然后你只需将它添加到你的格式字符串中。

于 2013-10-09T13:16:38.450 回答