[英]How do get a strongly typed single value using LINQ
我正在使用LINQ與C#.NET程序中的數據集中的數據進行交互。 數據從XML文件導入到數據集中,因此可以從中獲取其模式。 我希望能夠從表中獲取一行,然后以強類型的方式(使用智能感知)訪問該行的特定列。 我想我在語法上很接近,但我不太明白。 到目前為止,這就是我所擁有的...
// RunnerDataTable contains columns named FirstName, LastName, etc.
var OneRunner = RunnerDataTable().Single( p => p.Field<string>("FirstName") == "Jordan");
MessageBox.Show(OneRunner.LastName); // This doesn't work
這個例子確實可行,但我想在沒有foreach循環的情況下做...
var SomeRunners= from f in RunnerDataTable.AsEnumerable()
where f.Field<string>("FirstName") == "Jordan"
select new { FirstName = f.Field<string>("FirstName"), LastName = f.Field<string>("LastName")};
foreach (var o in SomeRunners)
{
MessageBox.Show(o.FirstName + " " + o.LastName);
}
有任何想法嗎?
var OneRunner = (from f in RunnerDataTable.AsEnumerable()
where f.Field<string>("FirstName") == "Jordan"
select new { FirstName = f.Field<string>("FirstName"),
LastName = f.Field<string>("LastName")}
).SingleOrDefault();
包裝在括號中並添加SingleOrDefault()
如果我正確回答您的問題,那么:
var OneRunner = (
from f in RunnerDataTable.AsEnumerable()
where f.Field<string>("FirstName") == "Jordan"
select new
{
FirstName = f.Field<string>("FirstName"),
LastName = f.Field<string>("LastName")
}
).Single();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.