当我在寻找一种方法来获得两个列表之间的差异时,我遇到了这个页面:Set operations (C#)。
我发现,我可以使用Except
方法。但是在这个代码示例中让我感到困惑的是:
string[] planets1 = { "Mercury", "Venus", "Earth", "Jupiter" };
string[] planets2 = { "Mercury", "Earth", "Mars", "Jupiter" };
IEnumerable<string> query = from planet in planets1.Except(planets2)
select planet;
foreach (var str in query)
{
Console.WriteLine(str);
}
/* This code produces the following output:
*
* Venus
*/
就是这句话IEnumerable<string> query = from planet in planets1.Except(planets2) select planet;
考虑到我是C#的新手,我的问题是,您是否需要此查询来使用Except方法?这一行似乎做同样的事情:IEnumerable<string> query = planets1.Except(planets2);
我错过了什么吗?
1条答案
按热度按时间6rqinv9w1#
您可以用两种方式编写LINQ
1.类似查询表达式的形式
1.方法链形式
在查询表达式形式中,必须存在group子句或select子句,但在方法链形式中,不需要以select方法结束。
这两段代码都返回
IEnumerable<string[]>
和/或