如何解析文本文件?

1 .net c# streamreader textreader

基本上我需要有人来帮助我或者给我看一些代码,这些代码可以让我从一个名为c1.txt的文件中读取名称和价格.

这就是我已经拥有的.

    TextReader c1 = new StreamReader("c1.txt");
        if (cse == "c1")
        {
            string compc1;
            compc1 = c1.ReadLine();
            Console.WriteLine(compc1);
            Console.WriteLine();
            compcase = compc1;
            compcasecost = 89.99;
        }
Run Code Online (Sandbox Code Playgroud)

如何选择一行来从文本文档中读取将是很好的.

jas*_*son 10

您还没有告诉我们文本文件的格式.我将假设以下内容:

Milk|2.69
Eggs|1.79
Yogurt|2.99
Soy milk|3.79
Run Code Online (Sandbox Code Playgroud)

您也没有指定输出.我将假设以下内容:

Name = Milk, Price = 2.69
Name = Eggs, Price = 1.79
Name = Yogurt, Price = 2.99
Name = Soy milk, Price = 3.79
Run Code Online (Sandbox Code Playgroud)

然后,下面将读取这样的文件并产生所需的输出.

using(TextReader tr = new StreamReader("c1.txt")) {
    string line;
    while((line = tr.ReadLine()) != null) {
        string[] fields = line.Split('|');
        string name = fields[0];
        decimal price = Decimal.Parse(fields[1]);
        Console.WriteLine(
            String.Format("Name = {0}, Price = {1}", name, price)
        );
    }
}
Run Code Online (Sandbox Code Playgroud)

如果您的分隔符不同,则需要将参数更改'|'为方法String.Split(在String名为lineas 的实例上调用line.Split('|')).

如果您的格式需要不同,那么您需要使用该行

String.Format("Name = {0}, Price = {1}", name, price)
Run Code Online (Sandbox Code Playgroud)

如果您有任何疑问,请告诉我.