C# 我将如何编写这个LINQ查询?

C# 我将如何编写这个LINQ查询?,c#,linq,C#,Linq,我正试着围绕着这个叫做LINQ的“新概念”来思考。听说过吗?哈哈 无论如何,我已经读了足够多的书,知道使用LINQ可以写得更清楚,但我不明白我该如何写: DataTable table = MySqlDateTimeQueryResult(); for (int i = 0; i < table.Rows.Count; i++) { DataRow r = table.Rows[i]; DateTime dt = (DateTime)r["Date_Time"]; Consol

我正试着围绕着这个叫做LINQ的“新概念”来思考。听说过吗?哈哈

无论如何,我已经读了足够多的书,知道使用LINQ可以写得更清楚,但我不明白我该如何写:

DataTable table = MySqlDateTimeQueryResult();
for (int i = 0; i < table.Rows.Count; i++) {
  DataRow r = table.Rows[i];
  DateTime dt = (DateTime)r["Date_Time"];
  Console.WriteLine(dt);
}
DataTable=MySqlDateTimeQueryResult();
for(int i=0;i
编辑[标题更改]:我将如何使用LINQ编写此文档

显然,这不是一个查询。

foreach(MySqlDateTimeQueryResult()中的DateTime dt.AsEnumerable())
foreach(DateTime dt in MySqlDateTimeQueryResult().AsEnumerable()
                            .Select(row => row.Field<DateTime>("Date_Time")))
    Console.WriteLine(dt);
.Select(行=>row.Field(“日期和时间”)) 控制台写入线(dt);
这将返回一个
IEnumerable
,其中包含
Date\u Time
列的所有元素:

    table.Rows.Select(r=>((DateTime)r["Date_Time"]));

在这种特定的情况下,LINQ可能实际上并不有益。请参阅和上的讨论

不过,你会这么做的

table.Rows                       // Start with an IEnumerable
    .Select(r => r["Date_Time"]) // Map each item to something, in this case extract the value
    .ToList()                    // ForEach comes off of List, not IEnumerable
    .ForEach(x => Console.WriteLine(x)); // Do something with each

我不确定在这种情况下您是否真的需要LINQ,但如果您真的想用LINQ表达您正在做什么,请尝试以下方法:

var query = from  DataRow r in table.Rows select r["Date"];

 foreach (var q in query)
 {
     Console.WriteLine(q.ToString());
 }

我很困惑,你想问什么?这看起来像一个循环,而不是一个search.LOL。也许我也很困惑。我想我在询问日期。就像我说的,
对LINQ来说是个新手。
我可能完全偏离了基准。
控制台.WriteLine()
是学术性的。我需要提取“日期时间”字段。[+1]我喜欢您将其分解为每个部分的方式。
Console.WriteLine()
是学术性的。我需要提取“日期\时间”字段。@jp2code然后在
之后停止。选择
,它已对
IEnumerable
进行提取。如果需要,可以调用
ToArray()
而不是
ToList()
。@jp2code您也可以在lambda中执行
(日期时间)
强制转换
.Select(r=>(DateTime)r[“Date\u Time”])
我的第一行可以写为
foreach(var q in来自表中的数据行r。行选择r[“Date\u Time”])
?我自己会直接测试这个,但是我的调试器深陷在一段代码中,这段代码一直给我带来错误,我现在不想退出。
 var dates = table.AsEnumerable().Select(r => r["Date_Time"]);