演習 - Sort() と Reverse() について理解する
- 10 分
Array クラスには、配列の内容、配置、サイズを操作するために使用できるメソッドが含まれています。 この演習では、パレット識別子の配列に対してさまざまな操作を実行するコードを記述します。 このコードを基にして、会社のパレットの使用状況を追跡して最適化するためのアプリケーションを作成できます。
コーディング環境を準備する
このモジュールには、デモ コードをビルドして実行するプロセスをガイドする実践的なアクティビティが含まれています。 これらのアクティビティを完了するために、開発環境として Visual Studio Code を使用することをお勧めします。 これらのアクティビティに Visual Studio Code を使用すると、世界中のプロフェッショナルが使用する開発環境でコードの記述と実行をより快適に行うことができます。
Visual Studio Code を開きます。
Visual Studio Code は、Windows の [スタート] メニュー (別の OS の場合は同等のリソース) を使用して開くことができます。
Visual Studio Code の [ファイル] メニューで、[フォルダーを開く] を選択します。
[フォルダーを開く] ダイアログで、Windows の [デスクトップ] フォルダーに移動します。
コード プロジェクトを保持するフォルダーの場所が異なる場合は、代わりにそのフォルダーの場所を使用できます。 このトレーニングでは、見つけやすく覚えやすい場所を用意することが重要です。
[フォルダーを開く] ダイアログで、[フォルダーの選択] を選択します。
作成者を信頼するかどうかを確認するセキュリティ ダイアログが表示された場合は、[はい] を選択します。
Visual Studio Code の [ターミナル] メニューで、[新しいターミナル] を選択します。
[ターミナル] パネルのコマンド プロンプトに、現在のフォルダーのフォルダー パスが表示されることを確認します。 次に例を示します。
C:\Users\someuser\Desktop>注記
この例では、C# 12 で導入されたコレクション式構文を使用します。
この C# シリーズのその他の Microsoft Learn モジュールを自分のコンピューター上で実施した場合は、コード サンプル用のプロジェクト フォルダーを作成した可能性があります。 その場合は、次の手順をスキップして構いません。これには、TestProject フォルダー内でのコンソール アプリの作成が含まれます。
ターミナルのコマンド プロンプトで、指定したフォルダーに新しいコンソール アプリケーションを作成するには、「dotnet new console -o ./CsharpProjects/TestProject」と入力し、Enter キーを押します。
この .NET CLI コマンドでは、.NET プログラム テンプレートを使用して、指定したフォルダーの場所に新しい C# コンソール アプリケーション プロジェクトを作成します。 このコマンドで [CsharpProjects] と [TestProject] のフォルダーが自動的に作成され、
.csprojファイルの名前として TestProject が使用されます。[エクスプローラー] パネルで、[CsharpProjects] フォルダーを展開します。
[TestProject] フォルダーと、Program.cs という名前の C# プログラム ファイルと、TestProject.csproj という名前の C# プロジェクト ファイルの 2 つが表示されるはずです。
[エクスプローラー] パネルの [エディター] パネルにコード ファイルを表示するには、[Program.cs] を選択します。
既存のコード行を削除します。
この C# コンソール プロジェクトを使用して、このモジュール中のコード サンプルの作成、ビルド、実行を行います。
[ターミナル] パネルを閉じます。
パレットの配列を作成してから並べ替える
Visual Studio Code が開いていて、[エディター] パネルに Program.cs が表示されていることを確認します。
注記
Program.cs は空になっているはずです。 そうでない場合は、すべてのコード行を選択して削除します。
Visual Studio Code エディターに次のコードを入力します。
string[] pallets = [ "B14", "A11", "B12", "A13" ]; Console.WriteLine("Sorted..."); Array.Sort(pallets); foreach (var pallet in pallets) { Console.WriteLine($"-- {pallet}"); }注記
この例では、C# 12 で導入されたコレクション式構文を使用します。
少し時間を取って、前に追加したコードの
Array.Sort(pallets);行を調べてください。ここでは、
Sort()クラスのArrayメソッドを使って、配列の項目を英数字の順に並べ替えています。Visual Studio Code の [ファイル] メニューで、[保存] を選択します。
コードをビルドまたは実行する前に、Program.cs ファイルを保存する必要があります。
[エクスプローラー] パネルで、TestProject フォルダーの場所にあるターミナルを開くには、TestProject を右クリックし、[統合ターミナルで開く] を選択します。
ターミナル パネルが開き、ターミナルが TestProject フォルダーの場所に対して開かれていることを示すコマンド プロンプトが含まれているはずです。
コードを実行するには、ターミナルのコマンド プロンプトで、「dotnet run」と入力し、Enter キーを押します。
注記
"実行するプロジェクトが見つかりませんでした" というメッセージが表示された場合は、ターミナルのコマンド プロンプトに、予期されている TestProject フォルダーの場所が表示されていることを確かめます。 例:
C:\Users\someuser\Desktop\csharpprojects\TestProject>次の出力が表示されます。
Sorted... -- A11 -- A13 -- B12 -- B14
パレットの順序を逆にする
Array.Reverse()メソッドを使ってパレットの順序を逆にするには、次のようにコードを更新します。string[] pallets = [ "B14", "A11", "B12", "A13" ]; Console.WriteLine("Sorted..."); Array.Sort(pallets); foreach (var pallet in pallets) { Console.WriteLine($"-- {pallet}"); } Console.WriteLine(""); Console.WriteLine("Reversed..."); Array.Reverse(pallets); foreach (var pallet in pallets) { Console.WriteLine($"-- {pallet}"); }上で追加したコードの
Array.Reverse(pallets);の行に注目してください。ここでは、
Reverse()クラスのArrayメソッドを使って、項目の順序を逆にしています。コード ファイルを保存してから、Visual Studio Code を使ってコードを実行します。 次の出力が表示されます。
Sorted... -- A11 -- A13 -- B12 -- B14 Reversed... -- B14 -- B12 -- A13 -- A11
まとめ
このユニットで説明したいくつかの重要なアイデアを次に示します。
- Array クラスには、配列のサイズと内容を操作できるメソッドが用意されています。
- 配列の特定のデータ型に基づいて順序を操作するには、
Sort()メソッドを使用します。 - 配列内の要素の順序を反転するには、
Reverse()メソッドを使用します。