C# 字典键值对问题
我有一本字典 我创建了一个dictionary paramList对象,现在我向该对象添加了键和值对,现在我想知道是否在另一个页面上,我以某种方法传递了对象paramList,在该页面上,我知道键,我想访问它的对应值,那么我该怎么做呢 我有这样的东西C# 字典键值对问题,c#,dictionary,C#,Dictionary,我有一本字典 我创建了一个dictionary paramList对象,现在我向该对象添加了键和值对,现在我想知道是否在另一个页面上,我以某种方法传递了对象paramList,在该页面上,我知道键,我想访问它的对应值,那么我该怎么做呢 我有这样的东西 Dictionary<string, object> paramList = new Dictionary<string, object>(); paramList.Add("@courseId", course_id)
Dictionary<string, object> paramList = new Dictionary<string, object>();
paramList.Add("@courseId", course_id);
paramList.Add("@passoutYear", passoutYear);
paramList.Add("@currentBacklog", currentBacklog);
paramList.Add("@sex", sex);
现在,如果我知道key@key并想知道它的对应值,我也有对象如果我正确理解了你的问题,你想知道该键是否存在于字典中,然后检索该值 也许最简单的方法是使用TryGetValue
string key = "@key";
object value = null;
if (paramList.TryGetValue(key, out value))
{
// the key exists and the related value is now in value
}
else
{
// the key does not exist
}
编辑
或者可以使用扩展方法。不进行双重查找
static class DictionaryExtensions
{
public static TValue GetValueOrDefault<TKey,TValue>(this IDictionary<TKey,TValue> dict, TKey key)
{
TValue value;
if(dict.TryGetValue(key, out value))
return value;
return default(TValue);
}
}
//Example usage
paramList.GetValueOrDefault("mykey") ?? "mykey didn't exist";
仅供参考,您还可以使用下一种方法初始化词典:
Dictionary<string, object> paramList = new Dictionary<string, object>
{
{ "@courseId", course_id },
{ "@passoutYear", passoutYear },
{ "@currentBacklog", currentBacklog },
{ "@sex", sex },
};
它叫我不明白这个问题。请重新措辞此操作可能会执行双字典查找,甚至更短,返回dict.TryGetValuekey,out value?值:默认值;还有一个建议——通常这种方法有一个可选的参数,通过重载或其他方式表示查找失败情况下的默认值,即返回dict.TryGetValuekey,out value?值:默认值??默认值;先生,请看一眼这个…我非常需要摆脱这个问题,我被困在如何从查询中排序电路空参数值。。。
Dictionary<string, object> paramList = new Dictionary<string, object>
{
{ "@courseId", course_id },
{ "@passoutYear", passoutYear },
{ "@currentBacklog", currentBacklog },
{ "@sex", sex },
};