使用LINQ文件中读取文本数据 [英] Read text data from file using LINQ

查看:266
本文介绍了使用LINQ文件中读取文本数据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有以下的文本文件:

  37 44 60 
67 15 94
45 02 44

如何从该文件读取所有数字和它们保存到二维数组,使用LINQ?所有我manged做的是创造每行中的所有第一值的简单数组。使用LINQ在这种情况下,一个好主意,或者我应该简单地加载文件正常的方式和分析呢?


解决方案

  File.ReadAllLines(MYFILE)
。选择(L => l.Split('')。选择(int.Parse).ToArray())ToArray的()。

或者



 列表与LT; INT [] GT; forThoseWhoHave1GigFiles =新的List< INT []>();使用
(StreamReader的读者= File.OpenText(MYFILE))
{
,而(reader.EndOfStream!)
{
串线= reader.ReadLine();
forThoseWhoHave1GigFiles.Add(line.Split('')
。选择(int.Parse).ToArray());
}
}
VAR myArray的= forThoseWhoHave1GigFiles.ToArray();

  File.ReadLines(MYFILE)
。选择(L => l.Split('')
。选择(int.Parse).ToArray())
。 ToArray的();

在.NET 4.0及以上。


I have following text file:

37 44 60
67 15 94
45 02 44

How to read all numbers from this file and save them into two-dimensional array, using LINQ? All I manged to do was creating a simple array with all first values in each row. Is using LINQ in this case a good idea or should I simply load the file normal way and parse it?

解决方案

File.ReadAllLines(myFile)
    .Select(l => l.Split(' ').Select(int.Parse).ToArray()).ToArray();

Or:

List<int[]> forThoseWhoHave1GigFiles = new List<int[]>();
using(StreamReader reader = File.OpenText(myFile))
{
    while(!reader.EndOfStream)
    {
        string line = reader.ReadLine();
        forThoseWhoHave1GigFiles.Add(line.Split(' ')
            .Select(int.Parse).ToArray());
    }
}
var myArray = forThoseWhoHave1GigFiles.ToArray();

And:

File.ReadLines(myFile)
    .Select(l => l.Split(' ')
    .Select(int.Parse).ToArray())
    .ToArray();

In .Net 4.0 and above.

这篇关于使用LINQ文件中读取文本数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆