有没有办法检查你的会话变量是否包含某些内容......就像列表中有一个方法"包含"。有类似的东西吗?某种方法还是什么?
答案 0 :(得分:0)
您好,您可以尝试投射会话,以便它可以有一个类型,例如
var listofperson = Session["ListofPerson"] as List<string>;
var hasGeorge = listofperson.Contains("George");
答案 1 :(得分:-1)
首先,检查Session [“yoursession_var”]是否为空。然后转换为List()。然后使用Exists(),如下所述:how to use Exist in List<string> in C#
答案 2 :(得分:-1)
从Session
检索项目时,它们的类型为System.Object
。这意味着您无法获得该对象的实际类型的任何实际方法。您可以通过将其强制转换为正确的类型来实现。在这种情况下,听起来您正在存储List<string>
。所以我们可以使用as operator。如果对象不属于该类型或者开头为null,则myList
将为null。否则它将是您指定的类型。
List<string> myList = Session["myKey"] as List<string>();
if(myList == null)
{
//either Session["myKey"] was null or the object wasn't a List<string>
}
else
{
if(myList.Contains("fuzzy puppies"))
{
//your list contains fuzzy puppies
}
else
{
//your list doesn't contain fuzzy puppies
}
}
在对象上调用.ToString()
会根据对象类型给出不同的结果。默认行为是打印出对象的类型。但类型可以覆盖此行为。例如,在字符串上调用.ToString()
只会为您提供字符串本身。在表示某些XML的对象上调用.ToString()
可能会将XML作为字符串提供给您。由于List<string>
没有覆盖System.Object.ToString()
的默认行为,因此它只打印出&#34; System.Collections.Generic.List`1 [System.String]&#34;