Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.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# 我必须找出列表中是否包含至少5条记录_C#_Linq_Query Performance - Fatal编程技术网

C# 我必须找出列表中是否包含至少5条记录

C# 我必须找出列表中是否包含至少5条记录,c#,linq,query-performance,C#,Linq,Query Performance,问题:我必须找出列表中是否包含至少5条记录。这份名单有5000多条记录 从以上两个count语句(count1和count2)中,哪一个语句的性能更好?以上两个Sql查询将生成什么?您应该能够自己找到生成的查询。如果你现在不知道怎么做,那是首先要研究的。(我们不知道您目前使用的是哪种LINQ技术没有帮助。)(顺便说一句,您几乎肯定不需要前两行代码。或者如果您确实需要列表中的所有工资,那么您不需要返回数据库查看有多少。)是的,Jon,请忽略以上两行。我想知道Count()方法的行为。它是否遍历所有

问题:我必须找出列表中是否包含至少5条记录。这份名单有5000多条记录


从以上两个count语句(
count1
count2
)中,哪一个语句的性能更好?以上两个Sql查询将生成什么?

您应该能够自己找到生成的查询。如果你现在不知道怎么做,那是首先要研究的。(我们不知道您目前使用的是哪种LINQ技术没有帮助。)(顺便说一句,您几乎肯定不需要前两行代码。或者如果您确实需要列表中的所有工资,那么您不需要返回数据库查看有多少。)是的,Jon,请忽略以上两行。我想知道Count()方法的行为。它是否遍历所有记录以获取计数。或者使用Take(5)before Count()方法将提高性能。与其要求读者忽略问题中不相关的部分,不如从现在开始避免将它们放在第一位。同样,您应该能够自己确定发出的查询。考虑到我们不知道您使用的是实体框架、LINQ到SQL还是其他什么,您的处境比我们好得多。如果因为您正在开发一个时间非常关键的应用程序而非常重要,那么首先就不应该使用LINQ,或者甚至不应该使用C。否则不要在这些微优化上浪费时间。只需编程你想做的事情。e、 g.
如果(foo.Count()>=5)[then]
int count1 = db.Salaries.Take(5).Count();
int count2 = db.Salaries.Count();