vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Top-Preis! AP-Access-Tools-CD Volume 1  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
A Very Special Comparer 
Autor: Manfred X
Datum: 26.07.17 10:04

Vielleicht irgend so etwas ....
Public Class SpecialComparer
    Implements IComparer(Of String)
 
    Public Function Compare(x As String, y As String) As Integer _
        Implements System.Collections.Generic.IComparer(Of String).Compare
 
        x = x.Replace(".", "")
        y = y.Replace(".", "")
 
        Dim xp() As String = x.Split(" "c)
        Dim yp() As String = y.Split(" "c)
 
        If xp(0) > yp(0) Then Return 1
        If xp(0) < yp(0) Then Return -1
 
        If xp.Length = 1 And yp.Length = 1 Then
            Return 0
        ElseIf xp.Length = 1 And yp.Length > 1 Then
            Return -1
        ElseIf xp.Length > 1 And yp.Length = 1 Then
            Return 1
        End If
 
        Try
            If CDec(xp(1)) > CDec(yp(1)) Then Return 1
            If CDec(xp(1)) < CDec(yp(1)) Then Return -1
        Catch ex As Exception
            Throw New ArgumentException("Invalid Sort-Arg / numeric")
        End Try
 
        If xp.Length = 2 And yp.Length = 2 Then
            Return 0
        ElseIf xp.Length = 2 And yp.Length > 2 Then
            Return -1
        ElseIf xp.Length > 2 And yp.Length = 2 Then
            Return 1
        End If
 
        Return String.Compare(xp(2), yp(2))
 
    End Function
End Class
Anwendung:
  Dim str() As String = {"AAA", "Block", "Block 1", "Block 10", "Block 10.1", _
                               "Block 10.1 aa", "Block 10.1 ab", "Block 10.1", _
                               "Block 10.2", _
                               "Block 2", "Block 3", "Block 10.10", "CCC 1", _
                               "CCC 10", "CCC 2"}
 
  Array.Sort(str, New SpecialComparer)


Beitrag wurde zuletzt am 26.07.17 um 10:27:59 editiert.
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Strings sortieren...1.237DotNetErbse26.07.17 08:36
Re: Strings sortieren...552Manfred X26.07.17 09:31
A Very Special Comparer551Manfred X26.07.17 10:04
Re: Strings sortieren...555DotNetErbse26.07.17 12:58
Re: Strings sortieren...575Manfred X26.07.17 13:46

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel