Procedimento Sort
prende un delegato chiamato Comparison<T>
. Stai cercando di passare in un Func<int, int, bool>
, che è a sua volta un delegato. Non vi è alcuna conversione tra il delegato Func<int, int, bool>
e il delegato Comparison<T>
.
È possibile, tuttavia, utilizzare un lambda expression.
items.Sort((a, b) => a.DateModified.CompareTo(b.DateModified));
infatti, si utilizza questa espressione molto lambda e passarlo al costruttore Func<int, int, bool>
*. Tuttavia, non è necessario. Un'espressione lambda può essere convertita in qualsiasi delegato whos firma corrisponde - cioè (a, b) => a.DateModified.CompareTo(b.DateModified)
possono essere assegnati a qualcosa digitato Func<int, int, int>
o qualcosa digitato Comparison<T>
. In questo caso, passiamo a qualcosa che si aspetta un Comparison<T>
.
*
Con una piccola regolazione. Sort richiede un numero intero come tipo di ritorno. I valori negativi indicano meno di, 0 indica uguale e valori positivi indicano maggiore di.
Suppongo che abbia abbreviato la funzione per scopi dimostrativi? Perché si suppone che restituisca una stringa ma non restituisca nulla. –
Tempo per selezionare una risposta errata :) – Skurmedel