如何将此代码转换为 Linq lambda 表达式?
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["?"]);
}
如果我之前的代码中没有其他部分,则 linq 表达式将类似于以下代码,但我不知道如何管理找不到密钥的情况。
var list = _word.ToCharArray()
.Where(mot => mapping.ContainsKey(mot.ToString()))
.Select(mot => mapping[mot.ToString()]);
解决方案请务必保存顺序。