是否可以在列表中获取项目的当前索引位置
本文关键字:索引 位置 项目 获取 列表 是否 | 更新日期: 2023-09-27 18:33:41
是否可以获取项目在列表中的位置以执行以下操作?...
public class ListItem
{
public override string ToString()
{ return PositionInList.ToString(); }
}
public List < ListItem > myList = new List < ListItem >();
我并不是说你应该这样做,因为一个类知道它的容器很奇怪,但你可以这样做:
List<ListItem> parentList;
public ListItem(List<ListItem> parentList)
{
this.parentList = parentList;
}
public override string ToString()
{ return parentList.IndexOf(this).ToString(); }
当然,在构造过程中,您需要传入父集合。
ListItem
和 List
之间应该有联系。例如,您可以添加一个属性来存储具有以下ListItem
的列表:
public List<ListItem> List { get; set; }
public List <ListItem> myList = new List <ListItem>();
myList.Add(new ListItem { List = myList });
然后您可以使用IndexOf
方法:
public override string ToString()
{
return List.IndexOf(this).ToString();
}
使用 List 类的 .IndexOf()
方法将允许您执行此操作。
var lst = new List<string>();
lst.Add("foo");
lst.Add("bar");
// Output the index, ie: 1
Console.WriteLine(lst.IndexOf("bar"));