配列要素がファイル名を格納する配列をループするコードを次に示します。ループごとに、コードはXMLドキュメントをロードします。配列要素を直接呼び出すと、indexが配列の境界の外側にあるという例外が発生しますが、配列要素を別の変数に格納すると、コードは正常にコンパイルされます。配列ループ内のDispatcher.BeginInvoke例外
私はちょうど違いがある理由と、なぜ1つが他のものではないのかを理解できません。
コンパイルOK
for(int i =0; i < MyArray.Count(); i++)
{
string myString = MyArray[i].Split(',')[0];
Dispatcher.BeginInvoke(new Action(() =>
{
string xmlPath = _PATH + + myString;
var document = XDocument.Load(xmlPath, LoadOptions.SetLineInfo);
}));
}
}
例外:インデックスが配列の境界外では
for(int i =0; i < MyArray.Count(); i++)
{
Dispatcher.BeginInvoke(new Action(() =>
{
string xmlPath = _PATH + + MyArray[i].Split(',')[0];
var document = XDocument.Load(xmlPath, LoadOptions.SetLineInfo);
}));
}
}
コンソールにすべての 'i'値を書き込もうとしますか? –
あなたの 'MyArray'はどのように見えますか? –