我正在尝试使用以下方法返回 T[] 数组的最大值。我不明白为什么编译器在这里抱怨T max = _genericList[0];
会抛出错误cannot implicitly convert ...\GenericList(9) to ...\GenericList(123)
。
为什么这两个不同?我想使用一些 GenericList 类的 T[] 来插入它并找到最大值/最小值。这怎么可能?
internal class GenericList<T>
{
private T[] _genericList;
private int _count;
private int _listInnitialLength;
public GenericList(int listLength)
{
_genericList = new T[listLength];
_count = 0;
_listInnitialLength = listLength;
}
public T Max<T>() where T : IComparable
{
T max = _genericList[0];
foreach (T item in _genericList)
{
if (Comparer<T>.Default.Compare(item, max) > 0)
{
max = item;
}
}
return max;
}
}