zoukankan      html  css  js  c++  java
  • Linq学习之路(05) 教你如何使用Linq To CSV

    我们知道Linq to Objects、Linq to SQL、Linq to XML非常方便,但是Linq同样也可以处理csv文件,今天我将告诉大家使用Linq处理文本文件同样很爽!!!!

    csv文件是(逗号分隔值)的英文缩写,通常都是纯文本文件。每个值都是通过逗号“,”分隔开来的。现在我这里有一个学生表,里面有几条学生信息,是用csv文件保存起来的,我截图给大家看看:

    接下来我使用Linq将students.csv文件中的这些学生信息输出到控制台中:

     1 using System;
     2 using System.Collections.Generic;
     3 using System.Linq;
     4 using System.Text;
     5 using System.IO;
     6 
     7 namespace LinqToCSVDemo
     8 {
     9     class Program
    10     {
    11         static void Main(string[] args)
    12         {
    13             var students = from student in File.ReadAllLines("students.csv")
    14                            where !student.StartsWith("#")
    15                            let line = student.Split(',')
    16                            select new
    17                            {
    18                                Name = line[0],
    19                                Age = line[1],
    20                                Sex = line[2],
    21                                Birthday = line[3],
    22                                Hobby = line[4]
    23                            };
    24 
    25             ObjectDumper.Write(students);
    26             Console.ReadKey();
    27         }
    28     }
    29 }

    输出结果:

    是不是感觉很不可思议?这里我对上面的代码简单的解释一下:

    第13行是将students.csv文件读取到内存中,File.ReadAllLines()方法是定义在System.IO命名空间下的,他的功能就是将students.csv文件中的所有行都取出来。

    第14行是将过滤掉标题行

    第15行是将每行按“,”分割放入到line的char[]数组中

    第16到23行是定义一个匿名类,保存Student对象。

    好吧,这个小小的案例我就说这么多了,大家是不是感觉Linq真的很强大啊?

  • 相关阅读:
    jquery大文件(视频)上传解决方案
    ajax大文件(视频)上传解决方案
    JavaScript大文件(视频)上传解决方案
    js大文件(视频)上传解决方案
    vue大文件(视频)上传解决方案
    前端大文件(视频)上传解决方案
    网页大文件(视频)上传解决方案
    Web大文件(视频)上传解决方案
    http大文件(视频)上传解决方案
    B/S大文件(视频)上传解决方案
  • 原文地址:https://www.cnblogs.com/ARMdong/p/linqtocsv.html
Copyright © 2011-2022 走看看