あなたはこのように、任意の型のオブジェクトのコレクションを保持するために使用される予定のジェネリッククラス内の「REMOVEALL」を使用している場合:まあリスト<T>。汎用クラスの中の.RemoveAll <T>には、述語の変形フォームが必要ですか?
public class SomeClass<T>
{
internal List<T> InternalList;
public SomeClass() { InternalList = new List<T>(); }
public void RemoveAll(T theValue)
{
// this will work
InternalList.RemoveAll(x => x.Equals(theValue));
// the usual form of Lambda Predicate
// for RemoveAll will not compile
// error: Cannot apply operator '==' to operands of Type 'T' and 'T'
// InternalList.RemoveAll(x => x == theValue);
}
}
ありがとう、私はこの答えを受け入れたとマークしましたが、奇妙な...チェックマークは緑色に変わっていません。私はあなたの答えがnullableを含むどのような型も扱えるという事実は好きです。 – BillW
私は今それを緑色と見ています....多分遅れがあったかもしれません。 –