我是通用列表中的菜鸟,确实会使用一些帮助。 (甚至不知道泛型是否适合我的用途)。

我有 :

 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/

10-12 00:25
查看更多