In realtà, se è HashTable, non può essere ordinato. D'altra parte, se si dispone di un ArrayList o qualsiasi altra collezione che possono essere ordinati, è possibile implementare il proprio IComparer.
public class MyDicComparer : IComparer
{
public int Compare(Object x, Object y)
{
int Num1= ((Dictionary)x).Value; // or whatever
int Num2= ((Dictionary)y).Value;
if (Num1 < Num2) return 1;
if (Nun1 > Num2) return -1;
return 0; // Equals, must be consideres
}
ArrayList AL;
...
AL.Sort(MyDicComparer);
HTH
fonte
2010-04-19 22:15:21
ottiene un errore su "implementa IComparer": Public Class MyDictComparer Implementa IComparer Funzione Pubblica Confronta (ByVal x Come [Object], ByVal y Come [Object]) come numero intero Dim Num1 Come DictionaryEntry = DirectCast (x, DictionaryEntry) Dim Num2 Come DictionaryEntry = DirectCast (y, DictionaryEntry) Se CInt (Num1.Value) CInt (Num2.Value) Poi ritorno -1 End If ritorno 0 End Function Fine message Classe –
s15199d
errore: 'CountValueComparer' classe deve implementare 'funzione Compare (x come oggetto, y come oggetto) As Integer' per l'interfaccia 'System.Collections.IComparer'. – s15199d