vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
sevAniGif - als kostenlose Vollversion auf unserer vb@rchiv CD Vol.5  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

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

VB.NET - Ein- und Umsteiger
Re: List(of T) sortieren 
Autor: ModeratorDaveS (Moderator)
Datum: 13.12.08 13:10

	Public Class Comparer(Of T)
		Implements IComparer(Of T)
 
		Private _sortProperties() As Reflection.PropertyInfo
		Private _sortDescendings() As Boolean
 
		Public Sub New(ByVal sortFieldName As String, ByVal sortDescending As _
		  Boolean)
			ReDim _sortProperties(0)
			ReDim _sortDescendings(0)
			_sortProperties(0) = GetType(T).GetProperty(sortFieldName)
			_sortDescendings(0) = sortDescending
		End Sub
 
		Public Sub New(ByVal sortFieldNames() As String, ByVal sortDescendings() As _
		Boolean)
			If sortFieldNames.Length <> sortDescendings.Length Then Throw New _
  System.Exception("Invalid parameters")
 
			ReDim _sortProperties(sortFieldNames.Length - 1)
			Dim i As Integer = 0
			For Each sfn As String In sortFieldNames
				_sortProperties(i) = GetType(T).GetProperty(sfn)
				i += 1
			Next
			_sortDescendings = sortDescendings
		End Sub
 
		Public Function Compare(ByVal x As T, ByVal y As T) As Integer Implements _
		  System.Collections.Generic.IComparer(Of T).Compare
			Dim res As Integer
			Dim sortDescending As Boolean
			Dim i As Integer = 0
			For Each sortProperty In _sortProperties
				sortDescending = _sortDescendings(i)
				i += 1
				Dim Wert1 As IComparable = CType(sortProperty.GetValue(x, Nothing),  _
				IComparable)
				Dim Wert2 As Object = sortProperty.GetValue(y, Nothing)
				res = Wert1.CompareTo(Wert2)
				If res <> 0 Then Exit For
			Next
			If sortDescending Then Return -res
			Return res
		End Function
	End Class
lo.Sort(New Comparer(Of WKZ_Magazin)(New String() {"T_Name", "T_Num"}, New _
  Boolean() {False, False}))

________
Alle Angaben ohne Gewähr. Keine Haftung für Vorschläge, Tipps oder sonstige Hilfe, falls es schiefgeht, nur Zeit verschwendet oder man sonst nicht zufrieden ist

alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
List(of T) sortieren3.699CAM-Andi12.12.08 19:22
Re: List(of T) sortieren2.057ModeratorDaveS12.12.08 19:47
Re: List(of T) sortieren1.964CAM-Andi12.12.08 20:21
Re: List(of T) sortieren1.937ModeratorDaveS13.12.08 08:09
Re: List(of T) sortieren2.040ModeratorDaveS13.12.08 13:10
Re: List(of T) sortieren1.881CAM-Andi13.12.08 19:50

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-2025 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