c#索引文本文件的简单方法

标签 c# visual-studio-2010 indexing

我是 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);
            }
        }

感谢您的帮助。

最佳答案

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

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

注意关于 ReadLines 与 ReadAllLines 的区别:

The ReadLines and ReadAllLines methods differ as follows: When you use ReadLines, you can start enumerating the collection of strings before the whole collection is returned; when you use ReadAllLines, you must wait for the whole array of strings be returned before you can access the array. Therefore, when you are working with very large files, ReadLines can be more efficient.

这是一个例子:

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

然后您只需将其添加到您的格式字符串即可。

关于c#索引文本文件的简单方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19272562/

相关文章:

c# - 如何使用新的 WCF REST HttpClient API 设置 GoogleLogin 请求的授权 header

visual-studio-2010 - 在 VS2010 中包含一个依赖项 - Visual Leak Detector

c++ - 如何为我的应用程序分配 visual studio 中的所有可用内存?

search - 使用 Solr 的 log4j 日志索引

c# - 如何分离大型 ASP.NET MVC3 App?

c# - 协变/逆变是否适用于不实现公共(public)接口(interface)的隐式可转换类型?

mysql - 为什么 mySQL 不在我的测试查询中使用我的索引?

r - 如何在R中使用索引函数创建多列?

c# - 如何从 Pacer.gov API 发出案例请求?

visual-studio - 如何让 TFS 2010 检测对 Visual Studio 之外的文件所做的更改?