List<Dictionary<string, object>> data = new List<Dictionary<string, object>>();
Dictionary<string, Object> objs = new Dictionary<string, object>();
for (int i = 1; i <= onlineolanlar.Count; i++)
{
objs.Add(i.ToString(), new userLevel() { UserID = userID.ToString(), Presence = UserLevelBul.ToString() });
}
foreach (var item5 in objs.Values)
{
//How can I access item5 properties here??
}
大家好,
如何获得该foreach循环的值?
item5
应该具有属性userid
和userlevelbul
,但我无法访问它们。
答案 0 :(得分:7)
您将字典objs
声明为Dictionary<string, object>
。但实际上,您只想添加(并在以后使用)类型为userLevel
的条目。
因此只需声明具有正确类型的字典即可:
Dictionary<string, userLevel> objs = new Dictionary<string, userLevel>();
然后您可以直接使用它:
foreach (var item5 in objs.Values)
{
Console.WriteLine(item5.userID)
Console.WriteLine(item5.Presence)
}
因为现在objs.Values
和item5
中的元素都是userLevel
类型。
答案 1 :(得分:0)
在您的userLevel
上使用Dictionary<string, Object>
而不是Object
,或者使用Explicit casting(如果您由于某些原因无法更改object
):>
foreach (var item5 in objs.Values)
{
string userId = ((userLevel)item5).UserID;
// or
// string userId = (item5 as userLevel).UserID;
}