使用c#在csv文件中搜索值

nig*_*001 -3 c# csv

我有一个名为file.csv的 csv 文件,其中包含如下数据

Id   Name     Address   Contact
 1   Peter    USA       12345
 2   Anna     UK        45678
 3   John     USA       9876
Run Code Online (Sandbox Code Playgroud)

我想使用 c#搜索Name并从Address返回值。例如。如果用户搜索 Peter,则应返回 USA。

任何人都可以给我一些想法吗?

Ser*_*kiy 7

我建议你创建一些类来保存这些数据:

public class Person
{
   public int Id { get; set; }
   public string Name { get; set; }
   public string Address { get; set; }
   public string Contact { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

然后从您的文件中读取人员:

var person = File.ReadLines("file.csv").Skip(1)
                 .Select(ParsePersonFromLine)
                 .Where(p => p.Name == "Peter")
                 .FirstOrDefault();

if (person != null)
   // use person.Address
Run Code Online (Sandbox Code Playgroud)

人的解析可以是这样的:

private static Person ParsePersonFromLine(string line)
{
    string[] parts = line.Split(',');
    return new Person {
        Id = Int32.Parse(parts[0]),
        Name = parts[1],
        Address = parts[2],
        Contact = parts[3]
    };
}
Run Code Online (Sandbox Code Playgroud)