功能调用太多了

ely*_*hiv 3 c# linq lambda

我编写了以下解析csv文件的代码:

var result = FullFile.Split('\n')
  .Select(s => new 
  { FirstName = s.Split(',')[(int)FirstName.Value],
  SirName = s.Split(',')[(int)sirName.Value],
  garde = s.Split(',')[(int)Grade.Value] });
Run Code Online (Sandbox Code Playgroud)

现在,我使用Split相同的参数,并在同一个对象上使用该函数太多次.

有没有办法继续使用lambada表达式,并减少这个函数调用?

欢迎对我的编码提出任何其他意见

das*_*ght 7

是的,您可以在第一个中拆分一次Select,然后将结果传递给链中的第二个Select,如下所示:

var result = FullFile
    .Split('\n')
    .Select(line => line.Split(','))
    .Select(tt => new 
        { FirstName = tt[(int)FirstName.Value],
          SirName = tt[(int)sirName.Value],
          garde = tt[(int)Grade.Value] });
Run Code Online (Sandbox Code Playgroud)