2013-10-09 34 views
2

我真的新手,在C#編程和我有一個問題: 我想在行的開頭加上索引號,樣品:C#簡單的方法來索引文本文件

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

我認爲必須有更好的方法比閱讀文件,並計算所有行獲得file.Here`s我的代碼行數:

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

感謝您的幫助。

+2

即使它並不需要解決您的問題,可如果你發佈前翻譯的變量/評論/串英語是有幫助的。只是一個想法。 - 編輯:真棒。謝謝。 – Gray

+0

我翻譯每個變量英制在// ................ – pauliustack

回答

0

有可能比讀取整個文件計數線更好的方法(閱讀中的最後一行?你能相信嗎?)沒有在文件中有多少行沒有什麼特別的文件屬性。

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

注意這個關於readlines方法VS ReadAllLines:

的readlines方法和ReadAllLines方法的區別如下:當您使用readlines方法,你可以返回整個集合之前開始枚舉字符串的集合;當您使用ReadAllLines時,必須等待返回整個數組的字符串才能訪問該數組。因此,當您使用非常大的文件時,ReadLines可以更高效。

下面是一個例子:

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

然後你只需添加到您的格式字符串。

+1

在這種情況下,就不會有File.ReadLines(文件名)之間'的差.Count之間() '和'File.ReadAllLines(文件名).Count之間的()',對吧? – Corak

+0

我相信你是正確的,但我不知道足夠的肯定。所以我只是包含了這些信息。 – Gray

相關問題