文字列を分割し、値を辞書にスローする単純な LINQ ステートメントがあります。問題は、ディクショナリに同じ値の既存のキーが既に存在することはめったにないため、例外がスローされ、「dict」の値が空のままになることです。
dict = lines.Select(l => l.Split('|')).ToDictionary(d => d[0], d => d[1]);
LINQ ステートメントを変更して、挿入する前にディクショナリに既にキーがあるかどうかを確認するか、例外をキャッチして残りの値をディクショナリに書き込み続ける方法はありますか? 行の周りに try ブロックを配置しようとしましたが、例外がキャッチされましたが、要素が追加されないため、辞書は空のままです。