如何使用自定义类和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循环并获取所有值呢?

如何使用自定义类和List<>;在课堂上

正如您将看到的,kobject(悬停在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) {
    // ...
}