PDA

View Full Version : مرتب کردن آرایه ای از ساختار



bashir_nashi
پنج شنبه 14 آذر 1387, 22:00 عصر
سلام
من یه structure دارم و یه آرایه از اون که می خوام آرایه رو بر حسب یکی از فیلدهای ساختار مرتب کنم. ولی نتونستم از متد sort آرایه استفاده کنم. نمی دونم اصلا همچین آرایه ای رو مرتب می کنه یا نه.
ممنون از راهنمایی شما

MohsenPS
شنبه 16 آذر 1387, 06:35 صبح
سلام ،

برای اینکه بتونید از متد Sort استفاده کنید باید Structure مورد نظر شما رابط IComparable رو پیاده سازی کرده باشه، مثلا ساختار زیر امکان مرتب سازی نسبت به فیلد F1 رو خواهد داشت :


Public Structure YourStructure : Implements IComparable

Public F1 As Double
Public F2 As Double

Public Function CompareTo(ByVal obj As Object) As Integer Implements System.IComparable.CompareTo
Dim Aux As YourStructure = DirectCast(obj, YourStructure)
Return Me.F1.CompareTo(Aux.F1)
End Function

End Structure

حالا اگر a آرایه‌ای از نوع ساختار بالا باشه برای مرتب کردن اون کافیه :


Array.Sort(a)