如何使用自定义类和List<>;在课堂上
本文关键字:gt 课堂 lt 自定义 List 何使用 | 更新日期: 2023-09-27 18:00:07
如果我有这个类:
public class CacheClass
{
public string UserID { get; set; }
public List<string> TabId { get; set; }
public List<string> State { get; set; }
public List<string> CanAdmin { get; set; }
}
然后我将值添加到类中并添加到缓存中。我将变量缓存值分配给我的var类型:
var k = System.Web.HttpContext.Current.Cache[objUserInfo.UserID.ToString()];
那么,如何使用var k
获取foreach循环并获取所有值呢?
正如您将看到的,k
是object
(悬停在var
上),因为Cache
字典不是强类型的。编译器不知道实际类型是CacheClass
。所以第1步是强制转换。我更喜欢使用as
,因为如果强制转换失败,它不会抛出异常:
var k = System.Web.HttpContext.Current.Cache[objUserInfo.UserID.ToString()] as CacheClass;
使用as
确实需要进行null
检查以确保演员阵容正常:
if (k != null)
{
foreach (string x in k.State)
{ }
}
您可能缺少铸造
var k = System.Web.HttpContext.Current.Cache[objUserInfo.UserID.ToString()] as CacheClass;
foreach(var state in k.State) {
// ...
}