私は次の方法を持っています:
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.Collection
1.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 回のようで、気が狂いそうです! 何か案は?