考虑一下,
class Item
{
public string ID { get; set;}
public string Description { get; set; }
}
class SaleItem
{
public string ID { get; set;}
public string Discount { get; set; }
}
var itemsToRemoved = (List<Item>)ViewState["ItemsToRemove"];
// get only rows of ID
var query = from i in itemsToRemoved select i.ID;
var saleItems= (List<SaleItem>)ViewState["SaleItems"];
foreach (string s in query.ToArray())
{
saleItems.RemoveItem(s);
}
如何使用 IEnumerable/List Extension 方法编写此 LINQ 短语
// get only rows of ID
var query = from i in items select i.ID;
提前致谢。
最佳答案
那个很简单:
var query = items.Select(i => i.ID);
A select
子句始终对应于对 Select
的调用.其他一些运算符最终得到了一个相当复杂的扩展 :) 如果你努力工作,你可以让编译器做一些事情 very odd stuff ...
您可以在 C# specification 的第 7.16 节中找到此查询表达式翻译和其他查询表达式翻译的所有详细信息。 (v3 或 v4)。
<plug>
您也可以购买 C# in Depth, 2nd edition如果你真的想阅读第 11 章:) </plug>
关于c# - Linq 查询到 IEnumerable<T> 扩展方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4574692/