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"];
}如果我不评论qData.Add行,它说键已经被添加了。如果我有评论的话,上面说钥匙没找到.非常困惑和沮丧,不知道我做错了什么。:/
发布于 2016-06-02 15:45:26
您需要检查字典中是否已经存在密钥:
if(qData.ContainsKey("businessName"))
qData["businessName"] = Request.QueryString["businessName"];
else
qData.Add("businessName", Request.QueryString["businessName"]);Add方法不添加或更新键值对,但它只是添加它。否则,如果键已经存在于给定的字典中,则需要使用索引器,如上面的代码示例所示。
甚至更好。检查泛型字典索引器的MSDN状态:
与指定键关联的值。如果找不到指定的键,则get操作将抛出一个KeyNotFoundException,而set操作将使用指定的键创建一个新元素。
因此,您还可以简化代码如下:
// No need of using Add() or the indexer. You can
// just use the indexer instead in either case:
qData["businessName"] = Request.QueryString["businessName"];发布于 2016-06-02 15:45:17
键可能已经存在,取决于调用上下文,最简单的方法是在添加键之前检查该键是否存在。
if (!qData.ContainsKey(key))
{
qData.Add("businessName",Request.QueryString["businessName"]);
}当你读字典的时候,检查一下钥匙在那里
if (qData.ContainsKey(key))
{
value = qData["businessName"];
}发布于 2016-06-02 17:36:17
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))
}但是一个固定的"businessName“键对我来说没有意义
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;
}https://stackoverflow.com/questions/37596431
复制相似问题