如何获取IList中的条目值?

5
有没有办法获取IList中项目的值?
假设我们有一个IList列表和一个方法private IList getValues(int ID),然后我们像这样初始化IList列表:
IList list = getValues(SelectedID)
处理后,IList列表现在包含2个元素,每个元素都有自己的集合。
[0]
 {
   GroupName = "test01"
   GroupID = 1
 }

[1]
 {
   GroupName = "test02"
   GroupID = 2
 }

我如何获取第一个元素的GroupName? 我不能直接像这样调用它:list[0].GroupName,对吗?

1
除非您知道列表中对象的类型,否则在访问GroupName属性之前,您将无法访问该属性,除非您进行类型转换。 - Mez
5
为什么您在使用非泛型的 IList 呢? - MarcinJuraszek
@StephenBorg 我该怎么做?顺便说一下,我是新手。 - Don
1
尝试使用IList<YourObject>而不是IList。 - Frank59
1
为什么不声明List<Group> list而不是IList list? - John Jesus
显示剩余4条评论
2个回答

4
如果您知道对象的类型,您可以使用以下方法获取所需内容:
list.Cast<Group>().ElementAt(0).GroupName
其中Group指的是您的对象名称。

2
尝试以下操作,您需要使用自定义对象创建一个列表。我在这里创建了一个名为CustomClass的虚拟类,并使用已知类型创建了一个列表。
public class CustomClass
    {
        public string GroupName { get; set; }
        public int GroupID { get; set; }
    }

    protected void Page_Load(object sender, EventArgs e)
    {
        List<CustomClass> list = new List<CustomClass>();
        foreach (var x in list) {
            Console.WriteLine(x.GroupName);
        }

    }

2
这并没有真正回答问题。我通过从某个API公开的IList进入了这个页面,我必须处理它。我期望得到如何处理非泛型IList而不是泛型的答案。 - Szabolcs Antal

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接