このコードを Linq ラムダ式に変換するにはどうすればよいですか?
var list = new List<string[]>();
foreach (var @char in _word)
{
if (mapping.ContainsKey(@char.ToString())) // I tried with TryGetValue but my brain has thrown a stackoverflow.
list.Add(mapping[@char.ToString()]);
else
list.Add(mapping["?"]);
}
前のコードにelse部分がなければ、linq式は次のコードのようになりますが、キーが見つからない場合の管理方法もわかりません。
var list = _word.ToCharArray()
.Where(mot => mapping.ContainsKey(mot.ToString()))
.Select(mot => mapping[mot.ToString()]);
ソリューションは順序を維持する必要があります。