これはおそらく単純な質問ですが、答えは私にはわかりません。
辞書に変換しようとしている文字列のコレクションがあります。
コレクション内の各文字列は、正規表現の一致から取得した値のコンマ区切りのリストです。辞書の各エントリのキーをコンマ区切りリストの4番目の要素にし、対応する値をコンマ区切りリストの2番目の要素にします。
ToDictionaryを直接呼び出そうとすると、ある種のループが発生し、現在のBackgroundWorkerスレッドをキックしているように見えます。
var MoveFromItems = matches.Cast<Match>()
.SelectMany(m => m.Groups["args"].Captures
.Cast<Capture>().Select(c => c.Value));
var dictionary1 = MoveFromItems.ToDictionary(s => s.Split(',')[3],
s => s.Split(',')[1]);
辞書を手動で作成すると、すべてが正常に機能します。
var MoveFroms = new Dictionary<string, string>();
foreach(string sItem in MoveFromItems)
{
string sKey = sItem.Split(',')[3];
string sVal = sItem.Split(',')[1];
if(!MoveFroms.ContainsKey(sKey))
MoveFroms[sKey.ToUpper()] = sVal;
}
私はあなたが提供できるかもしれないどんな助けにも感謝します。