如果我有这个课程:
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; }
}
Run Code Online (Sandbox Code Playgroud)
然后我将值添加到类并添加到缓存.我分配给我的var类型变量缓存值:
var k = System.Web.HttpContext.Current.Cache[objUserInfo.UserID.ToString()];
Run Code Online (Sandbox Code Playgroud)
那么,我如何获得foreach循环var k并获得所有价值?
正如您将看到k的那样object(悬停在上面var),因为Cache字典不是强类型的.编译器不知道实际的类型是什么CacheClass.所以第一步就是施展它.我更喜欢使用,as因为如果转换失败它不会抛出异常:
var k = System.Web.HttpContext.Current.Cache[objUserInfo.UserID.ToString()] as CacheClass;
Run Code Online (Sandbox Code Playgroud)
使用as确实需要你做一个null-check来确保演员阵容没问题:
if (k != null)
{
foreach (string x in k.State)
{ }
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
353 次 |
| 最近记录: |