有没有办法获取IList中的项目值? 它是这样的:
假设我们有IList list
和方法private IList getValues(int ID)
然后我们初始化IList list
,如:
IList list = getValues(SelectedID)
处理完毕后,IList list
现在包含2个元素,每个元素都有自己的集合:
[0]
{
GroupName = "test01"
GroupID = 1
}
[1]
{
GroupName = "test02"
GroupID = 2
}
我如何获得第一个元素的GroupName?
我不能像list[0].GroupName
那样称呼它,我可以吗?
答案 0 :(得分:3)
如果您知道对象的类型, 你可以用它来得到你想要的东西。
list.Cast<Group>().ElementAt(0).GroupName
在对象名称中分组。
答案 1 :(得分: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 :(得分:1)
您可以使用FindIndex方法,例如
class MyClass2
{
public string Name { get; set; }
public int Age { get; set; }
public int Type { get; set; }
}
List<MyClass2> myLists = new List<MyClass2>();
myLists.Add(new MyClass2() { Age = 1, Name = "Mast", Type = 560 });
myLists.Add(new MyClass2() { Age = 2, Name = "Oli", Type = 778 });
myLists.Add(new MyClass2() { Age = 3, Name = "AS", Type = 9458 });
myLists.Add(new MyClass2() { Age = 4, Name = "ABC", Type = 100 });
int result1 = myLists.FindIndex(T => T.Type == 9458); //2
int result2 = myLists.FindIndex(T => T.Name == "Oli"); //1