使用LINQ从数据集中选择单列

m.e*_*son 21 c# linq linq-to-dataset

只是让我了解所有这些LINQ的东西,似乎我陷入了第一个障碍.

我有一个数据表:

OrderNo     LetterGroup Filepath
----------- ----------- --------------------------------------------------
0           0           Letters/SampleImage.jpg
0           0           Letters/UKPC7_0.jpg
0           0           Letters/UKPC8_0.jpg
Run Code Online (Sandbox Code Playgroud)

我需要的是将Filepath列中的所有文件路径都放入String数组中.我认为LINQ对此是完美的(我是对的吗?),但似乎无法构造正确的查询.

任何人都可以提供一些代码示例,指出我正确的方向吗?我四处搜寻 - 但似乎没有到达任何地方.

Bry*_*tts 32

有一些扩展方法可以更轻松地处理数据集:

using System.Data.Linq;

var filePaths =
    from row in dataTable.AsEnumerable()
    select row.Field<string>("Filepath");

var filePathsArray = filePaths.ToArray();
Run Code Online (Sandbox Code Playgroud)

您还可以使用方法语法将其放在一个语句中:

var filePaths = dataTable
    .AsEnumerable()
    .Select(row => row.Field<string>("Filepath"))
    .ToArray();
Run Code Online (Sandbox Code Playgroud)


Ant*_*ram 11

string[] filePaths = (from DataRow row in yourDataTable.Rows 
                     select row["Filepath"].ToString()).ToArray();
Run Code Online (Sandbox Code Playgroud)

  • @ poindexter12 - 什么?当然看起来像LINQ对我来说. (2认同)