MENU

【VB.NET】配列やコレクション内の要素を並び替える

Visual Basic .NET(VB.NET)でプログラミングをしていると、配列やコレクション内の要素を特定の順序で並び替えたいケースが頻繁に発生します。データを昇順や降順に整理したり、カスタムの基準で並べ替えたりすることで、情報の整理や検索が容易になります。この記事では、VB.NETで配列やコレクションを並び替える方法について、初心者の方にも分かりやすく解説します。

目次

配列の並び替え

VB.NETでは、配列を並び替えるための簡単な方法が用意されています。

1. Array.Sortメソッドを使用する

Array.Sortメソッドは、配列を昇順に並び替える最も簡単な方法です。

Module ArraySortExample
    Sub Main()
        ' 整数配列の並び替え
        Dim numbers() As Integer = {5, 2, 8, 1, 9}
        Array.Sort(numbers)
        
        Console.WriteLine("並び替え後の数字:")
        For Each num In numbers
            Console.Write(num & " ")
        Next
        Console.WriteLine()

        ' 文字列配列の並び替え
        Dim fruits() As String = {"バナナ", "リンゴ", "オレンジ", "ぶどう"}
        Array.Sort(fruits)
        
        Console.WriteLine("並び替え後の果物:")
        For Each fruit In fruits
            Console.Write(fruit & " ")
        Next
        Console.WriteLine()
    End Sub
End Module

このコードは、整数配列と文字列配列を昇順に並び替えます。

2. カスタム並び替え

特定の基準で並び替えたい場合は、比較関数を使用できます。

Module CustomSortExample
    Class Person
        Public Property Name As String
        Public Property Age As Integer

        Public Sub New(name As String, age As Integer)
            Me.Name = name
            Me.Age = age
        End Sub
    End Class

    Sub Main()
        Dim people() As Person = {
            New Person("山田", 30),
            New Person("佐藤", 25),
            New Person("田中", 35)
        }

        ' 年齢で並び替え
        Array.Sort(people, Function(x, y) x.Age.CompareTo(y.Age))

        Console.WriteLine("年齢順:")
        For Each person In people
            Console.WriteLine($"{person.Name}: {person.Age}歳")
        Next
    End Sub
End Module

この例では、Personオブジェクトの配列を年齢に基づいて並び替えています。

コレクションの並び替え

リストなどのコレクションも簡単に並び替えることができます。

List(Of T)の並び替え

Imports System.Collections.Generic

Module ListSortExample
    Sub Main()
        Dim fruits As New List(Of String) From {"バナナ", "リンゴ", "オレンジ", "ぶどう"}

        ' 昇順に並び替え
        fruits.Sort()
        Console.WriteLine("昇順:")
        For Each fruit In fruits
            Console.Write(fruit & " ")
        Next
        Console.WriteLine()

        ' 降順に並び替え
        fruits.Sort(Function(x, y) y.CompareTo(x))
        Console.WriteLine("降順:")
        For Each fruit In fruits
            Console.Write(fruit & " ")
        Next
        Console.WriteLine()
    End Sub
End Module

この例では、List(Of String)を昇順と降順の両方で並び替えています。

VB.NETでの配列やコレクションの並び替えは、データ処理の基本的かつ重要な操作です。Array.SortメソッドやList(Of T).Sortメソッドを使用することで、簡単に要素を並び替えることができます。さらに、カスタムの比較関数を使用することで、複雑な並び替え条件にも対応できます。これらの技術を習得することで、効率的なデータ管理が可能になり、プログラムの品質と可読性が向上します。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次