1. ホーム
  2. c#

[解決済み] Sequence has no elements' Exceptionの処理

2022-01-29 21:30:25

質問

カートの数量を更新しているのですが、「Sequence has no elements」という例外が発生します。

それが何を意味するのかさえもわかりません。最初は、どこかにnull値が渡されているのかと思いましたが、確認したところそうではありませんでした。

シーケンスに要素がない 説明 処理されない例外 は、現在の Web リクエストの実行中に発生しました。このような場合 スタックトレースで、エラーの詳細と発生箇所を確認してください。 コードに起因するものです。

例外の詳細です。System.InvalidOperationException: シーケンス は要素を含んでいない

ソースエラーです。

35行目:var uid = WebSecurity.CurrentUserId; 36行目:var uid = WebSecurity.CurrentUserId: var newqty = Request.Form["Quantity"]; 37行目。
OModel.Cart c = (from item in database.Carts Line 38:
ここで item.UserId == uid && item.PartNumber == pnumber && item.OrderId == oid 39行目: select item).First();

何が原因なのか、何か思い当たることはありますか?

どのように解決するのですか?

First() は、select が 0 行を返す場合に発生します。その例外をキャッチするか、あるいは FirstOrDefault() これは、要素がない場合は null を返します。