C# 词典存储与检索 publicstaticdictionary qData=newdictionary(); 受保护的无效页面加载完成(对象发送方,事件参数e) { 添加(“businessName”,Request.QueryString[“businessName”]); } 受保护的无效craCHeck(对象发送方,事件参数e) { 字符串值=”; value=qData[“businessName”]; }
如果我不注释C# 词典存储与检索 publicstaticdictionary qData=newdictionary(); 受保护的无效页面加载完成(对象发送方,事件参数e) { 添加(“businessName”,Request.QueryString[“businessName”]); } 受保护的无效craCHeck(对象发送方,事件参数e) { 字符串值=”; value=qData[“businessName”]; },c#,.net,C#,.net,如果我不注释qData.Add行,它表示已经添加了密钥。如果我评论它,它说找不到钥匙。。。。非常困惑和沮丧,不知道我做错了什么/ 根据调用上下文,键可能已经存在 最简单的方法是在添加密钥之前检查它是否存在 public static Dictionary<string,string> qData = new Dictionary<string,string>(); protected void Page_LoadComplete(object sender, EventA
qData.Add
行,它表示已经添加了密钥。如果我评论它,它说找不到钥匙。。。。非常困惑和沮丧,不知道我做错了什么/ 根据调用上下文,键可能已经存在
最简单的方法是在添加密钥之前检查它是否存在
public static Dictionary<string,string> qData = new Dictionary<string,string>();
protected void Page_LoadComplete(object sender, EventArgs e)
{
qData.Add("businessName",Request.QueryString["businessName"]);
}
protected void craCHeck(object sender, EventArgs e)
{
string value = "";
value = qData["businessName"];
}
当你阅读字典时,检查钥匙是否在那里
if (!qData.ContainsKey(key))
{
qData.Add("businessName",Request.QueryString["businessName"]);
}
您需要检查字典中是否已存在密钥:
if (qData.ContainsKey(key))
{
value = qData["businessName"];
}
Add
方法不添加或更新键值对,但它只是
他补充道。否则,如果密钥已存在于给定的
字典,您需要使用索引器,如上面的代码所示
样品
甚至比这更好。检查通用字典索引器:
与指定键关联的值。如果指定的密钥是
找不到,get操作会抛出KeyNotFoundException和set
操作使用指定的键创建新元素
因此,您还可以将代码简化如下:
if(qData.ContainsKey("businessName"))
qData["businessName"] = Request.QueryString["businessName"];
else
qData.Add("businessName", Request.QueryString["businessName"]);
但“businessName”的固定键对我来说毫无意义
protected void Page_LoadComplete(object sender, EventArgs e)
{
qData["businessName"] = Request.QueryString["businessName"]);
}
protected void craCHeck(object sender, EventArgs e)
{
string value = "";
qData.TryGetValue("businessName", out value))
}
这就是你所有的密码吗?我们似乎遗漏了一些谜题。有没有理由检查钥匙是否存在?为什么不单独使用
qData[“businessName”]=…
行呢?如果它不存在,索引器将添加它。
protected void Page_LoadComplete(object sender, EventArgs e)
{
qData["businessName"] = Request.QueryString["businessName"]);
}
protected void craCHeck(object sender, EventArgs e)
{
string value = "";
qData.TryGetValue("businessName", out value))
}
string queryString = string.empty;
protected void Page_LoadComplete(object sender, EventArgs e)
{
queryString = Request.QueryString["businessName"]);
}
protected void craCHeck(object sender, EventArgs e)
{
string value = queryString;
}