有没有办法写得更紧凑?
return _searchRedirectionMap.ContainsKey(query) ? _searchRedirectionMap[query] : "";
Givent_searchRedirectionMap
被定义为IDictionary<string,string>
有没有办法写得更紧凑?
return _searchRedirectionMap.ContainsKey(query) ? _searchRedirectionMap[query] : "";
Givent_searchRedirectionMap
被定义为IDictionary<string,string>
您可以编写一个IDictionary
利用该方法的扩展TryGetValue
方法:
public static TValue GetValueOrDefault<TKey, TValue>(this IDictionary<TKey, TValue> source, TKey key, TValue defaultValue)
{
TValue outValue;
if (source.TryGetValue(key, outValue))
{
return outValue;
}
return defaultValue;
}
然后你可以像这样使用它:
return _searchRedirectionMap.GetValueOrDefault(query, string.Empty);