.NETヘルプ C# Array Sort (開発者向けの仕組み) Curtis Chau 更新日:7月 28, 2025 Download IronPDF NuGet Download テキストの検索と置換 テキストと画像のスタンプ Start Free Trial Copy for LLMs Copy for LLMs Copy page as Markdown for LLMs Open in ChatGPT Ask ChatGPT about this page Open in Gemini Ask Gemini about this page Open in Grok Ask Grok about this page Open in Perplexity Ask Perplexity about this page Share Share on Facebook Share on X (Twitter) Share on LinkedIn Copy URL Email article 配列は C# プログラミングにおいて重要な役割を果たし、データ コレクションを保存および操作する便利な方法を提供します。 配列を扱う際の基本的な操作の 1 つはソートであり、この記事では C# でソート済み配列を作成する複数の方法について説明します。 最後までには、配列ソートの基本を理解するだけでなく、C# が提供する強力なソート機能を活用する方法も発見します。 配列の基本を理解する ソートに進む前に、C# での配列の基本を再確認しましょう。 配列は、同じデータ型の要素を連続したメモリ位置に格納するコレクションです。 それらは、インデックス表記を使用して要素にアクセスする効率性を提供します。 最も簡単な方法: Array.Sort() C# は指定された配列メソッド、Sort() を使用して配列を簡単にソートします。 このメソッドは多用途であり、さまざまなデータ型の配列要素に使用できます。ここに 1 次元配列を使用した簡単な例があります。 int[] numbers = { 5, 2, 8, 1, 7 }; Array.Sort(numbers); int[] numbers = { 5, 2, 8, 1, 7 }; Array.Sort(numbers); Dim numbers() As Integer = { 5, 2, 8, 1, 7 } Array.Sort(numbers) $vbLabelText $csharpLabel 上記のコードは配列要素を昇順にソートし、結果は { 1, 2, 5, 7, 8 } となります。 IComparer を使用したカスタムソート シンプルなシナリオでは Array.Sort() メソッドが便利ですが、カスタムのソート順が必要な状況に直面する可能性があります。 ここで IComparer インターフェースが役立ちます。 このインターフェースを実装することで、配列をソートするために使用される比較ロジックを定義できます。 using System.Collections; class CustomComparer : IComparer { public int Compare(object x, object y) { int a = (int)x; int b = (int)y; // Compare a and b to order them descending return b.CompareTo(a); } } int[] numbers = { 5, 2, 8, 1, 7 }; Array.Sort(numbers, new CustomComparer()); using System.Collections; class CustomComparer : IComparer { public int Compare(object x, object y) { int a = (int)x; int b = (int)y; // Compare a and b to order them descending return b.CompareTo(a); } } int[] numbers = { 5, 2, 8, 1, 7 }; Array.Sort(numbers, new CustomComparer()); Imports System.Collections Friend Class CustomComparer Implements IComparer Public Function Compare(ByVal x As Object, ByVal y As Object) As Integer Implements IComparer.Compare Dim a As Integer = DirectCast(x, Integer) Dim b As Integer = DirectCast(y, Integer) ' Compare a and b to order them descending Return b.CompareTo(a) End Function End Class Private numbers() As Integer = { 5, 2, 8, 1, 7 } Array.Sort(numbers, New CustomComparer()) $vbLabelText $csharpLabel オブジェクトのソート: IComparable と IComparer カスタムオブジェクトの配列をソートするには、IComparable インターフェースを実装するか、オブジェクトのソートに IComparer を使用する必要があります。 これにより、ソートアルゴリズムがオブジェクトの比較ルールを理解できるようになります。 次のコードは、年齢に基づいて Person オブジェクトの配列をソートするロジックを示しています。 using System; class Person : IComparable<Person> { public string Name { get; set; } public int Age { get; set; } public int CompareTo(Person other) { // Compare Persons by age return this.Age.CompareTo(other.Age); } } // Array of people Person[] people = { new Person { Name = "Alice", Age = 30 }, new Person { Name = "Bob", Age = 25 } }; // Sort by age Array.Sort(people); using System; class Person : IComparable<Person> { public string Name { get; set; } public int Age { get; set; } public int CompareTo(Person other) { // Compare Persons by age return this.Age.CompareTo(other.Age); } } // Array of people Person[] people = { new Person { Name = "Alice", Age = 30 }, new Person { Name = "Bob", Age = 25 } }; // Sort by age Array.Sort(people); Imports System Friend Class Person Implements IComparable(Of Person) Public Property Name() As String Public Property Age() As Integer Public Function CompareTo(ByVal other As Person) As Integer Implements IComparable(Of Person).CompareTo ' Compare Persons by age Return Me.Age.CompareTo(other.Age) End Function End Class ' Array of people Private people() As Person = { New Person With { .Name = "Alice", .Age = 30 }, New Person With { .Name = "Bob", .Age = 25 } } ' Sort by age Array.Sort(people) $vbLabelText $csharpLabel Array.Reverse(): 順序の反転 配列をソートした後、順序を反転させる必要があるかもしれません。 C# はその目的に正確に Array.Reverse() メソッドを提供します。 int[] numbers = { 1, 2, 3, 4, 5 }; Array.Reverse(numbers); int[] numbers = { 1, 2, 3, 4, 5 }; Array.Reverse(numbers); Dim numbers() As Integer = { 1, 2, 3, 4, 5 } Array.Reverse(numbers) $vbLabelText $csharpLabel これで、numbers 配列は { 5, 4, 3, 2, 1 } になります。 LINQを活用する より宣言的なスタイルで配列をソートしたい人のために、LINQ (Language Integrated Query) を使用して配列をソートすることもできます。 OrderBy メソッドを使用して昇順にソートし、OrderByDescendingメソッドを使用して降順にソートできます。 これらのメソッドは、ソートを実現するための簡潔な方法を提供します。 次の例では、LINQ クエリ構文を使用しています。 using System.Linq; int[] numbers = { 5, 2, 8, 1, 7 }; var sortedNumbers = numbers.OrderBy(x => x).ToArray(); using System.Linq; int[] numbers = { 5, 2, 8, 1, 7 }; var sortedNumbers = numbers.OrderBy(x => x).ToArray(); Imports System.Linq Private numbers() As Integer = { 5, 2, 8, 1, 7 } Private sortedNumbers = numbers.OrderBy(Function(x) x).ToArray() $vbLabelText $csharpLabel IronPDFの紹介 IronPDF についてさらに知る は、HTML から直接 PDF ドキュメントの作成、修正、および操作を簡素化する強力な C# ライブラリです。 レポートや請求書、その他の動的なコンテンツを生成するかどうかにかかわらず、IronPDF はシームレスなソリューションを提供し、PDF 関連のタスクに C# の力を活かすことができます。 IronPDF は、ウェブページと HTML を PDF に変換し、元の書式を保持します。 .NET プロジェクトにシームレスに統合でき、開発者は PDF の生成を自動化しワークフローを改善できます。 using IronPdf; class Program { static void Main(string[] args) { var renderer = new ChromePdfRenderer(); // 1. Convert HTML String to PDF var htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF from an HTML string.</p>"; var pdfFromHtmlString = renderer.RenderHtmlAsPdf(htmlContent); pdfFromHtmlString.SaveAs("HTMLStringToPDF.pdf"); // 2. Convert HTML File to PDF var htmlFilePath = "path_to_your_html_file.html"; // Specify the path to your HTML file var pdfFromHtmlFile = renderer.RenderHtmlFileAsPdf(htmlFilePath); pdfFromHtmlFile.SaveAs("HTMLFileToPDF.pdf"); // 3. Convert URL to PDF var url = "http://ironpdf.com"; // Specify the URL var pdfFromUrl = renderer.RenderUrlAsPdf(url); pdfFromUrl.SaveAs("URLToPDF.pdf"); } } using IronPdf; class Program { static void Main(string[] args) { var renderer = new ChromePdfRenderer(); // 1. Convert HTML String to PDF var htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF from an HTML string.</p>"; var pdfFromHtmlString = renderer.RenderHtmlAsPdf(htmlContent); pdfFromHtmlString.SaveAs("HTMLStringToPDF.pdf"); // 2. Convert HTML File to PDF var htmlFilePath = "path_to_your_html_file.html"; // Specify the path to your HTML file var pdfFromHtmlFile = renderer.RenderHtmlFileAsPdf(htmlFilePath); pdfFromHtmlFile.SaveAs("HTMLFileToPDF.pdf"); // 3. Convert URL to PDF var url = "http://ironpdf.com"; // Specify the URL var pdfFromUrl = renderer.RenderUrlAsPdf(url); pdfFromUrl.SaveAs("URLToPDF.pdf"); } } Imports IronPdf Friend Class Program Shared Sub Main(ByVal args() As String) Dim renderer = New ChromePdfRenderer() ' 1. Convert HTML String to PDF Dim htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF from an HTML string.</p>" Dim pdfFromHtmlString = renderer.RenderHtmlAsPdf(htmlContent) pdfFromHtmlString.SaveAs("HTMLStringToPDF.pdf") ' 2. Convert HTML File to PDF Dim htmlFilePath = "path_to_your_html_file.html" ' Specify the path to your HTML file Dim pdfFromHtmlFile = renderer.RenderHtmlFileAsPdf(htmlFilePath) pdfFromHtmlFile.SaveAs("HTMLFileToPDF.pdf") ' 3. Convert URL to PDF Dim url = "http://ironpdf.com" ' Specify the URL Dim pdfFromUrl = renderer.RenderUrlAsPdf(url) pdfFromUrl.SaveAs("URLToPDF.pdf") End Sub End Class $vbLabelText $csharpLabel IronPDF のインストール: クイックスタート C# プロジェクトで IronPDF を活用するには、IronPDF NuGet パッケージを簡単にインストールできます。 パッケージ マネージャ コンソールで次のコマンドを使用します。 Install-Package IronPdf または、NuGet パッケージ マネージャで "IronPDF" を検索し、そこからインストールすることもできます。 IronPDF で PDF を生成 IronPDF を使用した PDF の作成は簡単です。 IronPDF を使用した HTML 文字列 から PDF を作成する簡単な例を考えてみましょう。 var htmlContent = "<html><body><h1>Hello, IronPDF!</h1></body></html>"; // Create a new PDF document var pdfDocument = new IronPdf.ChromePdfRenderer(); pdfDocument.RenderHtmlAsPdf(htmlContent).SaveAs("GeneratedDocument.pdf"); var htmlContent = "<html><body><h1>Hello, IronPDF!</h1></body></html>"; // Create a new PDF document var pdfDocument = new IronPdf.ChromePdfRenderer(); pdfDocument.RenderHtmlAsPdf(htmlContent).SaveAs("GeneratedDocument.pdf"); Dim htmlContent = "<html><body><h1>Hello, IronPDF!</h1></body></html>" ' Create a new PDF document Dim pdfDocument = New IronPdf.ChromePdfRenderer() pdfDocument.RenderHtmlAsPdf(htmlContent).SaveAs("GeneratedDocument.pdf") $vbLabelText $csharpLabel この例では、IronPDF を使用して HTML コンテンツを PDF ドキュメントにレンダリングしました。 生成された PDF "GeneratedDocument.pdf" は、指定された場所に保存されます。 PDF の生成方法についての詳細情報は、IronPDF ドキュメント ページをご覧ください。 IronPDF を使用した配列ソート ここで疑問が生じますが、先に触れた配列ソート技術を IronPDF とシームレスに統合できるでしょうか? 答えははいです。 データを PDF に表形式で提示したい場合のシナリオを考えてみましょう。 配列ソートを活用して、PDF を生成する前にデータを整理し、より構造化され、ユーザー フレンドリーな出力を確保できます。 using System.Linq; // Sample array of data string[] names = { "Alice", "Charlie", "Bob", "David" }; // Sorting the array alphabetically Array.Sort(names); // Generating PDF content with sorted data var sortedPdfContent = $@" <html> <body> <h1>Sorted Names</h1> <ul> {string.Join("", names.Select(name => $"<li>{name}</li>"))} </ul> </body> </html> "; // Create a new PDF document with sorted data var sortedPdfDocument = new IronPdf.ChromePdfRenderer(); sortedPdfDocument.RenderHtmlAsPdf(sortedPdfContent).SaveAs("SortedNames.pdf"); using System.Linq; // Sample array of data string[] names = { "Alice", "Charlie", "Bob", "David" }; // Sorting the array alphabetically Array.Sort(names); // Generating PDF content with sorted data var sortedPdfContent = $@" <html> <body> <h1>Sorted Names</h1> <ul> {string.Join("", names.Select(name => $"<li>{name}</li>"))} </ul> </body> </html> "; // Create a new PDF document with sorted data var sortedPdfDocument = new IronPdf.ChromePdfRenderer(); sortedPdfDocument.RenderHtmlAsPdf(sortedPdfContent).SaveAs("SortedNames.pdf"); Imports System.Linq ' Sample array of data Private names() As String = { "Alice", "Charlie", "Bob", "David" } ' Sorting the array alphabetically Array.Sort(names) ' Generating PDF content with sorted data , String.Join(TangibleTstring.Format(mpVerbatimDoubleQuote, names.Select(Function(name) $TangibleTempVerbatimCloseTag"<li>{name}</li>")), TangibleStringInterpolationMarker)var sortedPdfContent = $"TangibleTempVerbatimOpenTagTangibleTempVerbatimStringLiteralLineJoin <html>TangibleTempVerbatimStringLiteralLineJoin <body>TangibleTempVerbatimStringLiteralLineJoin <h1>Sorted Names</h1>TangibleTempVerbatimStringLiteralLineJoin <ul>TangibleTempVerbatimStringLiteralLineJoin {0}ignoreignoreignoreignoreignore</ul></body></html>" ' Create a new PDF document with sorted data Dim sortedPdfDocument = New IronPdf.ChromePdfRenderer() sortedPdfDocument.RenderHtmlAsPdf(sortedPdfContent).SaveAs("SortedNames.pdf") $vbLabelText $csharpLabel この例では、HTML コンテンツに組み込む前に、名前の配列がアルファベット順に並べ替えられています。 生成された PDF "SortedNames.pdf" には、名前が並べ替えられた順序で表示されます。 結論 結論として、C# で配列ソートを習得することは効率的なデータ操作に不可欠です。 単純な数値配列または複雑なオブジェクトを扱うかにかかわらず、C# はあなたのソートニーズを満たすさまざまなツールを提供します。 Array.Sort() の基本を理解し、IComparer でカスタムソートを行い、より表現力のあるアプローチのために LINQ を活用することにより、C# プロジェクトで配列を効率的かつ優雅に扱うことができます。 IronPDF を C# プロジェクトに統合することで、強力な PDF 生成ツールを提供するだけでなく、配列ソートをドキュメント作成ワークフローにシームレスに統合できます。 表形式データを整理する場合でも動的なレポートを作成する場合でも、配列ソートと IronPDF の相乗効果により、C# でのドキュメント生成機能を強化できます。 したがって、C# 配列でのソートの力を活用し、プログラミングの腕前を向上させましょう! IronPDF は、その完全な機能を商用利用で試用するための無料トライアルライセンスを提供します。 その永続的な商用ライセンスは$799から始まります。 よくある質問 C#で配列をどのように並べ替えますか? C#で配列を並べ替えるには、Array.Sort() メソッドを使用できます。この組み込みメソッドは、配列の要素を昇順に並べ替えるもので、さまざまなデータ型に対応しています。 C#で利用可能なカスタム並べ替えの方法は何ですか? C#でのカスタム並べ替えは、IComparerインターフェイスを実装することで可能です。これにより、特定の比較ロジックを定義して要素を並べ替えることができ、特殊なオブジェクトを扱う場合に有用です。 IComparableインターフェイスは配列の並べ替えにどのように役立ちますか? IComparableインターフェイスは、オブジェクトが他のオブジェクトと自分自身を比較するのを可能にし、並べ替えに役立ちます。このインターフェイスを実装することで、特定のクラスのオブジェクトがどのように比較されるべきかを定義できます。 C#で配列を反転させることはできますか? はい、C#で配列をArray.Reverse()メソッドを使用して反転させることができます。このメソッドは、配列内の要素の順序を効率的に反転させます。 C#での並べ替えにLINQをどのように利用できますか? LINQはC#での配列の並べ替えに宣言的アプローチを提供します。昇順に並べ替えるにはOrderByメソッドを、降順にするにはOrderByDescendingを使用できます。 配列並べ替えと合わせてPDFライブラリを使用する利点は何ですか? IronPDFのようなPDFライブラリを使用すると、データをソートしてからPDFを生成することができ、出力を整理して構造化するのに役立ちます。これは、動的なレポートやテーブルを作成する際に特に有用です。 PDFライブラリをC#プロジェクトに統合する方法は? IronPDFのようなPDFライブラリをC#プロジェクトに統合するには、NuGetパッケージマネージャコンソールでInstall-Package IronPdfコマンドを使用してインストールするか、NuGetパッケージマネージャで検索します。 ソートされた配列はPDFドキュメントの生成に使用できますか? はい、ソートされた配列はPDFドキュメントの生成によく使用され、論理的な順序でデータを表示します。これは、テーブルやリストを整理して最終的なPDFの読みやすさと構造を向上させることに含まれます。 PDFライブラリを試験するための無料試用版はありますか? はい、IronPDFは無料試用ライセンスを提供しており、その機能と機能を商用利用前にテストできます。 Curtis Chau 今すぐエンジニアリングチームとチャット テクニカルライター Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。開発以外にも、CurtisはIoT(Internet of Things)への強い関心を持ち、ハードウェアとソフトウェアの統合方法を模索しています。余暇には、ゲームをしたりDiscordボットを作成したりして、技術に対する愛情と創造性を組み合わせています。 関連する記事 更新日 9月 4, 2025 RandomNumberGenerator C# RandomNumberGenerator C#クラスを使用すると、PDF生成および編集プロジェクトを次のレベルに引き上げることができます 詳しく読む 更新日 9月 4, 2025 C# String Equals(開発者向けの仕組み) 強力なPDFライブラリであるIronPDFと組み合わせることで、switchパターンマッチングは、ドキュメント処理のためのよりスマートでクリーンなロジックを構築できます 詳しく読む 更新日 8月 5, 2025 C# Switch Pattern Matching(開発者向けの仕組み) 強力なPDFライブラリであるIronPDFと組み合わせることで、switchパターンマッチングは、ドキュメント処理のためのよりスマートでクリーンなロジックを構築できます 詳しく読む C# Yield Return (開発者向けの仕組み)Jquery Datatable (開発者向け...
更新日 9月 4, 2025 RandomNumberGenerator C# RandomNumberGenerator C#クラスを使用すると、PDF生成および編集プロジェクトを次のレベルに引き上げることができます 詳しく読む
更新日 9月 4, 2025 C# String Equals(開発者向けの仕組み) 強力なPDFライブラリであるIronPDFと組み合わせることで、switchパターンマッチングは、ドキュメント処理のためのよりスマートでクリーンなロジックを構築できます 詳しく読む
更新日 8月 5, 2025 C# Switch Pattern Matching(開発者向けの仕組み) 強力なPDFライブラリであるIronPDFと組み合わせることで、switchパターンマッチングは、ドキュメント処理のためのよりスマートでクリーンなロジックを構築できます 詳しく読む