2

だから私は注文のリストを持っています...リストが空の場合は、「else」にジャンプしたいと思います。

しかし、それはリストであるため(たとえ空であっても)、まだそのインスタンスがありますか?右?とにかく注文がない場合でもifステートメントに入るので、追加してみました.count == 0...

しかし、それはまだifステートメントに入ります...注文に実際のレコードがない場合は、「elseに行く」と言う必要があります....返信ありがとうございます

IEnumerable<OrderRecord> orders = _orderService.GetOrdersByCustomer(id, OrderStatus.Completed).ToArray();

if (orders != null && orders.Count() == 0 )
{
  //order exists
}
else
{
    //no order
}
4

3 に答える 3

11

0リストに以上のアイテムがあるかどうかを確認したい

if (orders != null && orders.Count() > 0 )
{
    //order exists
}
else
{
    //no order
}

リスト自体はアイテムとしてカウントされません。

Richard Evまたは、コメントで提案されてorders.Anyいるように、リストに要素がある場合に true を返す which を使用できます。

于 2013-07-18T14:31:19.977 に答える
4

状態を変える必要があります

orders.Count() == 0

orders.Count() > 0

現在、リストにレコードが含まれていないかどうかをチェックしているためです。

Enumerable.Any次のように試すこともできます。

if(orders != null && order.Any())

Count() の代わりに Any を使用するほうがよい理由を確認してください

于 2013-07-18T14:33:46.077 に答える
3

> 0代わりにチェックしたいと思います

if (orders != null && orders.Count() > 0 )
{
  //order exists
}

またorders.Any()

于 2013-07-18T14:32:08.583 に答える