매개 변수 집합 중 가장 큰 값을 제공하는 제네릭 함수를 정의하려고합니다.부분 순서 지정을위한 IComparable 형식 인터페이스
public static TResult Max<TResult>(params TResult[] items)
{
TResult result = items[0];
foreach (var item in items)
{
if (item > result)
result = item;
}
return result;
}
"item> result"행에서 컴파일러가 작동하지 않는다는 점을 제외하고는 모두 훌륭합니다. 내가 필요한 건 TResult가> 연산자 (또는 <도 작동하도록)를 제한하는 방법입니다. 그러나이 작업을 수행하기 위해 쉽게 사용할 수있는 인터페이스는 없습니다. 이것은 부분 순서이므로 꽤 일반적인 작업처럼 보입니다. 거대한 .NET 문서에서 뭔가 빠졌습니까?
총 주문 (즉, 'IComparable')이 여기에 적합하지 않은 이유는 무엇입니까? –
linq을 사용할 수 있습니까? –