Oppure

Loading
24/07/12 16:27
Jake7zDunn
come posso mettere in ordine decrescente delle stringhe in base al primo numero?
ho provato ad usare questo codice

Dim x() As String = {"34|12", "50|300", "200|1", "12|300"}
'ho messo l'array in ordine crescente
System.Array.Sort(x) 
'ho invertito l'array per farlo diventare decrescente
System.Array.Reverse(x) ' 
'ho usato un ciclo for each per visualizzare il risultato
For Each y As String In x
TextBox1.AppendText(y & vbCrLf)
Next


ma il risultato è
50|300
34|12
200|1
12|300
perchè mi mette in ordine l'array in base a tutti i numeri, non solo in base al primo...ho provato in tutti i modi ma non ci riesco...
sono nuovo in questo forum , spero nel vostro aiuto :)

aaa
24/07/12 17:39
Ultimo

Devi splittare le stringhe con la funzione split ;)
If ok Then GOTO Avanza else GOTO Inizia

24/07/12 18:15
sps84
Ciao allora questo potrebbe esserti d'aiuto, è una possibile soluzione tramite l'utilizzo di Linq. Se ho capito bene cerchi di ordinare il tutto per la prima lettera, quindi in una stringa qualsiasi puoi accedere ad una data posizione come mostrato di seguito:

string parola = "ciao";

parola[0] = "c"
parola[1] = "i" 

//etc...

string[] x = new string[] { "34|12", "50|300", "200|1", "12|300" };

var y = (from item in x
                     orderby item[0] ascending
                     select item).ToArray();


Se ho fatto qualke gaffa correggete :) Spero di esserti stato d'aiuto!
aaa
24/07/12 18:17
Qwertj
C'è un overload di Array.Sprt che accetta un delegato di tipo Comparison per definire la condizione di ordinamento.
Quindi potresti fare così
    Dim myarray() As String = {"50|300", "34|12", "200|1", "12|300"}
    Array.Sort(myarray, AddressOf comp)
    For Each a As String In myarray
        Console.WriteLine(a)
    Next
    Console.ReadKey()

    Function comp(x As String, y As String) As String
        Dim a, b As Integer
        a = Integer.Parse(x.Split("|")(0))
        b = Integer.Parse(y.Split("|")(0))
        If a > b Then
            Return 1
        ElseIf a < b Then
            Return -1
        Else
            Return 0
        End If
    End Function
aaa
25/07/12 10:49
Jake7zDunn
Grazie Quertj...funziona alla perfezione :D
aaa