想想这个,
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);
}
Run Code Online (Sandbox Code Playgroud)
如何使用IEnumerable/List Extension方法编写此LINQ短语
// get only rows of ID
var query = from i in items select i.ID;
Run Code Online (Sandbox Code Playgroud)
提前致谢.
那个很容易:
var query = items.Select(i => i.ID);
Run Code Online (Sandbox Code Playgroud)
一个select子句总是对应一个调用Select.其他一些运营商最终会得到一个相当复杂的扩展:)如果你努力工作,你可以让编译器做一些非常奇怪的事情 ......
您可以在C#规范(v3或v4)的第7.16节中找到此查询表达式和其他查询表达式转换的所有详细信息.
<plug>如果你真的想要:)
你也可以在深度,第2版购买C#并阅读第11章:)</plug>