Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/313.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何用查询语法编写Take(1)_C#_Linq_Entity Framework_Take - Fatal编程技术网

C# 如何用查询语法编写Take(1)

C# 如何用查询语法编写Take(1),c#,linq,entity-framework,take,C#,Linq,Entity Framework,Take,是否可以编写IQueryable=query.Take(1)或LINQ查询语法中的等效内容。我使用的是C#5和EF 5。不。你必须使用点语法进行操作。同样的情况也适用于ToList、Count等 var query = (from item in list where predicate(item) select func(item)) .Take(10); 在C#中LINQ的查询表达式语法中没有与Take等价的语法。唯一具有查询表达式等价项的方法是 Whe

是否可以编写
IQueryable=query.Take(1)
或LINQ查询语法中的等效内容。我使用的是C#5和EF 5。

不。你必须使用点语法进行操作。同样的情况也适用于
ToList
Count

var query =
    (from item in list
     where predicate(item)
     select func(item))
    .Take(10);

在C#中LINQ的查询表达式语法中没有与Take等价的语法。唯一具有查询表达式等价项的方法是

Where,
Select,
SelectMany,
Join,
GroupJoin,
OrderBy,
OrderByDescending,
ThenBy,
ThenByDescending,
GroupBy,
Cast

这是本规范§7.16.2中的内容。

不幸的是,C#没有VB那么多的语言内Linq关键字,但您可以通过添加
。跳过(n)。最后取(m)
。@TimSchmelter oh cool。出于好奇,VB.NET中的语法是什么?
Take
实现了查询,它应该与逻辑查询分开。@Steaks:
在查询Take 2中的r
(skip的工作原理类似)除了Take之外,VB还添加了Distinct、Aggregate、Count、Sum作为关键字。我不知道有一个
可枚举的.GroupJoin