我是c#编程的新手,我有一个问题: 我想在行的开头添加索引号,示例:
1. m.vardas m.pavarde m.adresas m.telnum m.uzrasai
我认为必须有比读取文件更好的方法,并计算所有行以获得file中的行数。这是我的代码:
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);
}
}
感谢您的帮助。
答案 0 :(得分:0)
可能有一种比读取整个文件更好的方法来计算行数(读取最后一行?你能信任吗?)文件中有多少行没有特殊的文件属性。
如果您想知道使用的行数File.ReadLines()
。
请注意ReadLines vs ReadAllLines:
ReadLines和ReadAllLines方法的不同之处如下:使用ReadLines时,可以在返回整个集合之前开始枚举字符串集合;当您使用ReadAllLines时,必须等待返回整个字符串数组才能访问该数组。因此,当您使用非常大的文件时,ReadLines可以更有效。
以下是一个例子:
var numLines = File.ReadLines(@"text.txt").Count();
然后你只需将它添加到格式字符串中。