我有两种方法在结构上非常相似:如何使用泛型来创建通用的分块算法?
public static List<List<NodeAttribute>> chunkList(List<NodeAttribute> list, int nSize = 30)
{
List<List<NodeAttribute>> chunkedList = new List<List<NodeAttribute>>();
for (var i = 0; i < list.Count; i += nSize)
{
chunkedList.Add(list.GetRange(i, Math.Min(nSize, list.Count - i)));
}
return chunkedList;
}
和
public static List<List<int>> chunkList(List<int> list, int nSize = 30)
{
List<List<int>> chunkedList = new List<List<int>>();
for (var i = 0; i < list.Count; i += nSize)
{
chunkedList.Add(list.GetRange(i, Math.Min(nSize, list.Count - i)));
}
return chunkedList;
}
理想情况下,我想有一个可以采取任何类型和返回列表的通用方法该类型的列表的列表 - 而不是只为我可能需要的每种对象类型添加方法。我知道我可以使用泛型来做到这一点,但是如何使返回类型与输入一样具有泛型?