C# 我将如何编写这个LINQ查询?
我正试着围绕着这个叫做LINQ的“新概念”来思考。听说过吗?哈哈 无论如何,我已经读了足够多的书,知道使用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
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"]);