3

私は次の方法を持っています:

private void DetermineIfWagerIsValid(CouponViewModel result, Bet bet, string wagerType, int selectionCount)
{
    if (bet.Wagers[0].WagerType == wagerType) //error here
    {
        if (bet.Selections.Count != selectionCount)
        {
            bet.BetStatus = BetStatus.FilledInAndInvalid;
        }
    }
}

単純ですが、インデックスが範囲外に見えないときに、断続的に「インデックスが範囲外です」というエラーが表示されます。

範囲外

スタックトレースは次のとおりです。

System.ThrowHelper.ThrowArgumentOutOfRangeException() で System.Collections.Generic.List 1.get_Item(Int32 index) at System.Collections.ObjectModel.Collection1.get_Item (Int32 インデックス)で
c:\code\Arkle\Arkle\Arkle.CouponProcessing\Scan\LonglistDecoder_994550.cs: 行 117 の Arkle.CouponProcessing. Scan.LonglistDecoder_994550.DetermineIfBetIsValid(CouponViewModel 結果) c:\code\Arkle\Arkle\Arkle.CouponProcessing\Scan\LonglistDecoder_994550.cs:107 行目、Arkle.CouponProcessing.Scan.LonglistDecoder_994550.Decode() in c:\code\Arkle \Arkle\Arkle.CouponProcessing\Scan\LonglistDecoder_994550.cs: C:\code\ の ArkleWPF.UI.SlipScanning.CouponTools.DecodeCoupon(Image img, OMRForm omrForm1, CouponDecodercoder, CouponPrintingInformation viewSettings, String slipBarcode, DecodeStatus status) の 62 行目Arkle\Arkle\ArkleWPF\UI\SlipScanning\CouponTools.vb:215行目
C:\code\Arkle\Arkle\ArkleWPF\UI\SlipScanning\CouponTools.vb:ArkleWPF.UI の 89 行
目SlipScanning.CouponTools._Closure$__1._Lambda$__1() in C:\code\Arkle\Arkle\ArkleWPF\UI\SlipScanning\CouponTools.vb:line 27
at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
System.Threading.ExecutionContext.RunInternal (ExecutionContext executionContext、ContextCallback コールバック、オブジェクト状態、ブール値 preserveSyncCtx) で System.Threading.ExecutionContext.Run (ExecutionContext executionContext、ContextCallback コールバック、オブジェクト状態、ブール値 preserveSyncCtx) で System.Threading.ExecutionContext.Run (ExecutionContext executionContext、ContextCallback コールバック、オブジェクト状態) System.Threading.ThreadHelper.ThreadStart() で

毎回というわけではなく、2 回か 3 回に 1 回のようで、気が狂いそうです! 何か案は?

4

1 に答える 1

1
 System.Collections.Generic.List1.get_Item(Int32 index) at
 System.Collections.ObjectModel.Collection1.get_Item(Int32 index)

要求されたインデックスはリストルックアップに存在しません。 Wagersは配列ですがWagerType、要求されたインデックスがありません。はexceptionリストのgetステートメント内から発生しています。

于 2013-03-11T11:24:32.700 に答える