我试图找出将以下语句转换为trygetvalue的方法。
非常感谢任何帮助。
filters.ContainsKey("companyCode") ? filters["companyCode"] : string.Empty;
我有我继承的代码,其中包含大约25个构建一个查询语句的代码。
答案 0 :(得分:6)
您必须创建if
语句,以便在找不到过滤器的情况下指定默认值:
对于C#7:
if (!filters.TryGetValue("companyCode", out string value))
value = string.Empty;
前C#7:
string value;
if (!filters.TryGetValue("companyCode", out value))
value = string.Empty;
答案 1 :(得分:4)
使用C#7,您可以使用这一个衬垫:
string result = filters.TryGetValue("companyCode", out string code) ? code : string.Empty;
如果您不能使用内联out
变量,则需要两行:
string code;
string result = filters.TryGetValue("companyCode", out code) ? code : string.Empty;