我是通用列表中的菜鸟,确实会使用一些帮助。 (甚至不知道泛型是否适合我的用途)。
我有 :
public class GenericList<T> : IList<T>
{
public DateTime date { get; set; }
public int state { get; set; }
}
我要创建的方法是将
T
的状态作为参数并返回其firstIndex
。我想这很简单,但是正如我之前提到的,从没有经验
最佳答案
我认为您根本不需要类GenericList
,因为已经有一个通用的List<T>
。也许您想创建一个类State
:
public class State
{
public DateTime date { get; set; }
public int state { get; set; }
}
因此,要查找具有给定状态的第一个索引,可以使用
List.FindIndex
:var allStates = new List<State>();
// fill ...
int index = allStates.FindIndex(s => s.state == givenState);
如果没有列表(但有数组或其他
IEnumerable<State>)
列表,则仍可以使用LINQ获得索引:int index = allStates.Select((s, index) => new { s, index })
.Where(x => x.s.state == givenState)
.Select(x => x.index)
.DefaultIfEmpty(-1)
.First();
关于c# - 通用列表及其对应方法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22094676/