Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/330.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.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# 如何通过在一次呼叫中获得两个号码来优化此linq查询?_C#_.net_Performance_Linq - Fatal编程技术网

C# 如何通过在一次呼叫中获得两个号码来优化此linq查询?

C# 如何通过在一次呼叫中获得两个号码来优化此linq查询?,c#,.net,performance,linq,C#,.net,Performance,Linq,代码如下所示,由于同一查询已执行两次,因此存在性能问题。作为一个新手,我对语法不太熟悉 有人能告诉我如何在一次通话中同时拨打这两个号码吗 var query = from p in myContext.Products where p.Price < 50 select p; int numberOfItems = query.Count(); var products = query.ToList(); var query=来自myContext.Products中的p 其中p.价格

代码如下所示,由于同一查询已执行两次,因此存在性能问题。作为一个新手,我对语法不太熟悉

有人能告诉我如何在一次通话中同时拨打这两个号码吗

var query = from p in myContext.Products
where p.Price < 50
select p;

int numberOfItems = query.Count();
var products = query.ToList();
var query=来自myContext.Products中的p
其中p.价格<50
选择p;
int numberOfItems=query.Count();
var products=query.ToList();

您可以从列表中获取计数:

var query = from p in myContext.Products
where p.Price < 50
select p;

var products = query.ToList();
int numberOfItems = products.Count;
var query=来自myContext.Products中的p
其中p.价格<50
选择p;
var products=query.ToList();
int numberOfItems=产品。计数;

您可以从列表中获取计数:

var query = from p in myContext.Products
where p.Price < 50
select p;

var products = query.ToList();
int numberOfItems = products.Count;
var query=来自myContext.Products中的p
其中p.价格<50
选择p;
var products=query.ToList();
int numberOfItems=产品。计数;

您可以在获取
列表后获取项目计数

  var products = query.ToList();
  int numberOfItems = products.Count;

query.Count()将第二次执行查询。但我们已经有了搜索项目的列表。我们可以借助
count
属性获取列表中的项目计数。

您可以在获取
列表后获取项目计数

  var products = query.ToList();
  int numberOfItems = products.Count;

query.Count()将第二次执行查询。但我们已经有了搜索项目的列表。我们可以通过
count
属性获得列表中项目的计数。

您是指count属性而不是count方法吗?您是指count属性而不是count方法吗?@Selman22-这意味着您只需要执行一个查询,这就是问题所在。很抱歉,您是对的,您更改了查询。count()到产品。伯爵:)我没看见that@Selman22-这意味着您只需要执行一个查询,这就是问题所在。对不起,您是对的,您将query.Count()更改为products.Count:)我没有看到这一点