以下のコード サンプルに異なるファイル名を渡していると、以下のようなエラーが発生します。しかし、同じデータの場合、私の側では問題なく動作していますが、クライアント側でこれらのエラーが発生します。
他の理由で発生する可能性がある場合は、私に提案してください。注: これは他の誰かによって書かれたメンテナンス コードです。問題を修正し、可能であれば改善する必要があります。
ファイル名の例:
222233334444555561_l.jpg 222233334444555561_l1.jpg
コード:
if (sFileName.LastIndexOf('_') != -1)
{
if (fileName.IndexOf("l1") != -1)
sVin = sFileName.Remove(sFileName.LastIndexOf('_'), 7);
else
sVin = sFileName.Remove(sFileName.LastIndexOf('_'), 6);
}
行のエラー:
sVin = sFileName.Remove(sFileName.LastIndexOf('_'), 7);
これは、次のような入力サンプルに対してエラーが発生することを意味します。222233334444555561_l1.jpg
エラーメッセージ:
エラー メッセージ: System.ArgumentOutOfRangeException: インデックスとカウントは、文字列内の場所を参照する必要があります。 パラメータ名:カウント System.String.Remove で (Int32 startIndex、Int32 カウント)