C#Writeline它没有给我期望

时间:2018-10-28 17:46:16

标签: c# console.writeline

从本质上讲是一个基本问题。
我试图读取CSV文件并仅在控制台中写入包含“ Honda”字样的文件。

h.realm.pluginOptions

这样,控制台不会给出任何结果。
但是向我展示所有结果的基本方式如下,其工作方式

    class Program
{
    static void Main(string[] args)
    {
        var reader = new StreamReader(File.OpenRead(@"C:\Users\Vitor\Downloads\LogCombustivel.csv"));

        while (!reader.EndOfStream)
        {
            var line = reader.ReadLine();
            var values = line.Split(',');
            if (values[0] == "Honda")
            {
                Console.WriteLine(line);
            }
        }
        Console.ReadLine();
    }
}

关于我在做什么错的任何线索吗?

2 个答案:

答案 0 :(得分:3)

以下代码仅在第一个元素为“ Honda”时显示一行:

if (values[0] == "Honda")
{
}

如果要加载包含“ Honda”的每个元素,那是不对的。您可以为此使用Linq的Contains()方法。

为Linq添加名称空间:

using System.Linq;

并使用以下代码代替,它将在数组中查找任何“ Honda”元素:

if (values.Contains("Honda"))
{
   // Your Code
}

答案 1 :(得分:0)

添加了搜索字符串Honda的linq查询。

class Program
{
    static void Main(string[] args)
   {
    var reader = new StreamReader(File.OpenRead(@"C:\Users\Vitor\Downloads\LogCombustivel.csv"));

    while (!reader.EndOfStream)
    {
        var line = reader.ReadLine();
        var values = line.Split(',');
        if (values.Any( x=> x == "Honda"))
        {
            Console.WriteLine(line);
        }
    }
    Console.ReadLine();
    }
}