.NETヘルプ C# Reverse String(開発者向けの動作方法) 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#では、このタスクを達成するための方法がいくつかあり、それぞれに利点、欠点、および最適な使用ケースがあります。 この記事では、C#で文字列や文字配列を逆にするさまざまな方法を、異なるシナリオや境界ケースのコード例とともに探求します。 また、Iron Softwareからの優れたPDF生成ライブラリであるIronPDFを紹介します。 1. 組み込み関数を使用する C#は文字列操作のためのいくつかの組み込み関数を提供しており、その一つに文字列を表す文字配列やchar配列を逆にすることができるArray.Reverse()があります。 逆のメソッドのコード例はこちらです: public class Program { // Main method: entry point of the program public static void Main() { string original = "AwesomeIronPDF"; // String variable char[] charArray = original.ToCharArray(); // Convert string to character array Array.Reverse(charArray); // Reverse the character array string reversed = new string(charArray); // Create a new reversed string Console.WriteLine(reversed); // Output: FDPnorIemosewA } } public class Program { // Main method: entry point of the program public static void Main() { string original = "AwesomeIronPDF"; // String variable char[] charArray = original.ToCharArray(); // Convert string to character array Array.Reverse(charArray); // Reverse the character array string reversed = new string(charArray); // Create a new reversed string Console.WriteLine(reversed); // Output: FDPnorIemosewA } } Public Class Program ' Main method: entry point of the program Public Shared Sub Main() Dim original As String = "AwesomeIronPDF" ' String variable Dim charArray() As Char = original.ToCharArray() ' Convert string to character array Array.Reverse(charArray) ' Reverse the character array Dim reversed As New String(charArray) ' Create a new reversed string Console.WriteLine(reversed) ' Output: FDPnorIemosewA End Sub End Class $vbLabelText $csharpLabel 利点 シンプルで簡潔なコード。 組み込み関数を使用しているため、カスタム実装の必要が減少。 欠点 文字列を文字配列に変換する必要があるため、追加のメモリを消費します。 パフォーマンスが重要なシナリオには不向きです。 2. StringBuilderを使用する C#で文字列を逆にする別のアプローチは、効率的な文字列操作を提供するStringBuilderクラスを利用することです。 文字列を逆にするためにStringBuilderを使用する方法は以下の通りです: public class Program { // Main method: entry point of the program public static void Main() { string someText = "AwesomeIronPDF"; // String variable StringBuilder sb = new StringBuilder(); // Create a StringBuilder instance for (int i = someText.Length - 1; i >= 0; i--) { sb.Append(someText[i]); // Append characters in reverse order } string reversed = sb.ToString(); // Convert StringBuilder to string Console.WriteLine(reversed); // Output: FDPnorIemosewA } } public class Program { // Main method: entry point of the program public static void Main() { string someText = "AwesomeIronPDF"; // String variable StringBuilder sb = new StringBuilder(); // Create a StringBuilder instance for (int i = someText.Length - 1; i >= 0; i--) { sb.Append(someText[i]); // Append characters in reverse order } string reversed = sb.ToString(); // Convert StringBuilder to string Console.WriteLine(reversed); // Output: FDPnorIemosewA } } Public Class Program ' Main method: entry point of the program Public Shared Sub Main() Dim someText As String = "AwesomeIronPDF" ' String variable Dim sb As New StringBuilder() ' Create a StringBuilder instance For i As Integer = someText.Length - 1 To 0 Step -1 sb.Append(someText.Chars(i)) ' Append characters in reverse order Next i Dim reversed As String = sb.ToString() ' Convert StringBuilder to string Console.WriteLine(reversed) ' Output: FDPnorIemosewA End Sub End Class $vbLabelText $csharpLabel 利点 大きな文字列でも効率的なメモリ使用。 パフォーマンスが重要なシナリオに適しています。 欠点 元の文字列の文字に手動で反復する必要があります。 組み込み関数を使用するよりもわずかに冗長です。 3. 再帰的アプローチ C#では、再帰的アプローチを使用して文字列を逆にすることもできます。 この方法は、文字列の両端から文字を再帰的に交換し、文字列全体が逆になるまで行います。 実装はこちらです: public class Program { // Main method: entry point of the program public static void Main() { string someText = "AwesomeIronPDF"; // Random string string reversed = ReverseString(someText); // Reverse a string Console.WriteLine(reversed); // Output: FDPnorIemosewA } // Recursive method to reverse a string public static string ReverseString(string str) { if (str.Length <= 1) return str; return ReverseString(str.Substring(1)) + str[0]; // Recursive call and string concatenation } } public class Program { // Main method: entry point of the program public static void Main() { string someText = "AwesomeIronPDF"; // Random string string reversed = ReverseString(someText); // Reverse a string Console.WriteLine(reversed); // Output: FDPnorIemosewA } // Recursive method to reverse a string public static string ReverseString(string str) { if (str.Length <= 1) return str; return ReverseString(str.Substring(1)) + str[0]; // Recursive call and string concatenation } } Public Class Program ' Main method: entry point of the program Public Shared Sub Main() Dim someText As String = "AwesomeIronPDF" ' Random string Dim reversed As String = ReverseString(someText) ' Reverse a string Console.WriteLine(reversed) ' Output: FDPnorIemosewA End Sub ' Recursive method to reverse a string Public Shared Function ReverseString(ByVal str As String) As String If str.Length <= 1 Then Return str End If Return ReverseString(str.Substring(1)) + str.Chars(0) ' Recursive call and string concatenation End Function End Class $vbLabelText $csharpLabel 利点 エレガントで簡潔なコード。 再帰が好まれるまたは必要とされるシナリオで役立ちます。 欠点 再帰関数呼び出しのため、非常に長い文字列に対してスタックオーバーフローを引き起こす可能性があります。 大きな文字列に対しては、繰り返しアプローチと比較して効率が低いです。 境界ケース 文字列を逆にするときは、堅牢性と正確さを保証するために境界ケースを考慮することが重要です。 考慮すべき境界ケースには以下のようなものがあります: 空文字列:入力文字列が空の場合に対処します。 null文字列:入力文字列がnullの場合に対処します。 特殊文字を含む文字列:逆にする際に特殊文字が正しく扱われることを保証します。 C#の文字列逆転メソッドを使用してPDFドキュメントを生成する IronPDFは、オリジナルのレイアウトやスタイルを正確に維持するHTMLからPDFへの変換に優れています。 レポート、請求書、ドキュメントなどのウェブベースのコンテンツからPDFを作成するのに最適です。 HTMLファイル、URL、生のHTML文字列をサポートしているため、IronPDFは簡単に高品質のPDFドキュメントを生成できます。 using IronPdf; class Program { // Main method: entry point of the program static void Main(string[] args) { var renderer = new ChromePdfRenderer(); // Create a PDF renderer // 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); // Render HTML to PDF pdfFromHtmlString.SaveAs("HTMLStringToPDF.pdf"); // Save the PDF file // 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); // Render HTML file to PDF pdfFromHtmlFile.SaveAs("HTMLFileToPDF.pdf"); // Save the PDF file // 3. Convert URL to PDF var url = "http://ironpdf.com"; // Specify the URL var pdfFromUrl = renderer.RenderUrlAsPdf(url); // Render URL to PDF pdfFromUrl.SaveAs("URLToPDF.pdf"); // Save the PDF file } } using IronPdf; class Program { // Main method: entry point of the program static void Main(string[] args) { var renderer = new ChromePdfRenderer(); // Create a PDF renderer // 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); // Render HTML to PDF pdfFromHtmlString.SaveAs("HTMLStringToPDF.pdf"); // Save the PDF file // 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); // Render HTML file to PDF pdfFromHtmlFile.SaveAs("HTMLFileToPDF.pdf"); // Save the PDF file // 3. Convert URL to PDF var url = "http://ironpdf.com"; // Specify the URL var pdfFromUrl = renderer.RenderUrlAsPdf(url); // Render URL to PDF pdfFromUrl.SaveAs("URLToPDF.pdf"); // Save the PDF file } } Imports IronPdf Friend Class Program ' Main method: entry point of the program Shared Sub Main(ByVal args() As String) Dim renderer = New ChromePdfRenderer() ' Create a PDF renderer ' 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) ' Render HTML to PDF pdfFromHtmlString.SaveAs("HTMLStringToPDF.pdf") ' Save the PDF file ' 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) ' Render HTML file to PDF pdfFromHtmlFile.SaveAs("HTMLFileToPDF.pdf") ' Save the PDF file ' 3. Convert URL to PDF Dim url = "http://ironpdf.com" ' Specify the URL Dim pdfFromUrl = renderer.RenderUrlAsPdf(url) ' Render URL to PDF pdfFromUrl.SaveAs("URLToPDF.pdf") ' Save the PDF file End Sub End Class $vbLabelText $csharpLabel Visual Studioからコンソールアプリケーションを作成することから始めます。 プロジェクト名と所在地を指定します。 .NETバージョンを選択します。 作成されたプロジェクトにIronPDFをインストールします。 以下のコマンドラインを使用しても実行できます。 dotnet add package IronPdf --version 2024.4.2 文字列逆転を示すために下記のコードを書きます。 public class Program { // Main method: entry point of the program public static void Main() { var content = "<h1>Demonstrate IronPDF with C# LinkedList</h1>"; content += "<h2>1. Using Array.Reverse Method</h2>"; string someText = "AwesomeIronPDF"; // New string variable content += $"<p>Input String: {someText}</p>"; char[] charArray = someText.ToCharArray(); // Convert string to character array Array.Reverse(charArray); // Reverse the character array string reversed1 = new string(charArray); // Create a new reversed string Console.WriteLine(reversed1); // Output: FDPnorIemosewA content += $"<p>Output: {reversed1}</p>"; content += "<h2>2. Using StringBuilder</h2>"; StringBuilder sb = new StringBuilder(); // Create a StringBuilder instance content += $"<p>Input String: {someText}</p>"; for (int i = someText.Length - 1; i >= 0; i--) { sb.Append(someText[i]); // Append characters in reverse order } string reversed2 = sb.ToString(); // Convert StringBuilder to string Console.WriteLine(reversed2); // Output: FDPnorIemosewA content += $"<p>Output: {reversed2}</p>"; content += "<h2>3. Using Recursive Approach</h2>"; content += $"<p>Input String: {someText}</p>"; string reversed3 = ReverseString(someText); // Reverse a string Console.WriteLine(reversed3); // Output: FDPnorIemosewA content += $"<p>Output: {reversed3}</p>"; // Create Renderer var renderer = new ChromePdfRenderer(); // Create a PDF renderer // Create a PDF from HTML string var pdf = renderer.RenderHtmlAsPdf(content); // Render HTML to PDF // Save to a file or Stream pdf.SaveAs("reverseString.pdf"); // Save the PDF file } // Recursive method to reverse a string public static string ReverseString(string str) { if (str.Length <= 1) return str; return ReverseString(str.Substring(1)) + str[0]; // Recursive call and string concatenation } } public class Program { // Main method: entry point of the program public static void Main() { var content = "<h1>Demonstrate IronPDF with C# LinkedList</h1>"; content += "<h2>1. Using Array.Reverse Method</h2>"; string someText = "AwesomeIronPDF"; // New string variable content += $"<p>Input String: {someText}</p>"; char[] charArray = someText.ToCharArray(); // Convert string to character array Array.Reverse(charArray); // Reverse the character array string reversed1 = new string(charArray); // Create a new reversed string Console.WriteLine(reversed1); // Output: FDPnorIemosewA content += $"<p>Output: {reversed1}</p>"; content += "<h2>2. Using StringBuilder</h2>"; StringBuilder sb = new StringBuilder(); // Create a StringBuilder instance content += $"<p>Input String: {someText}</p>"; for (int i = someText.Length - 1; i >= 0; i--) { sb.Append(someText[i]); // Append characters in reverse order } string reversed2 = sb.ToString(); // Convert StringBuilder to string Console.WriteLine(reversed2); // Output: FDPnorIemosewA content += $"<p>Output: {reversed2}</p>"; content += "<h2>3. Using Recursive Approach</h2>"; content += $"<p>Input String: {someText}</p>"; string reversed3 = ReverseString(someText); // Reverse a string Console.WriteLine(reversed3); // Output: FDPnorIemosewA content += $"<p>Output: {reversed3}</p>"; // Create Renderer var renderer = new ChromePdfRenderer(); // Create a PDF renderer // Create a PDF from HTML string var pdf = renderer.RenderHtmlAsPdf(content); // Render HTML to PDF // Save to a file or Stream pdf.SaveAs("reverseString.pdf"); // Save the PDF file } // Recursive method to reverse a string public static string ReverseString(string str) { if (str.Length <= 1) return str; return ReverseString(str.Substring(1)) + str[0]; // Recursive call and string concatenation } } Public Class Program ' Main method: entry point of the program Public Shared Sub Main() Dim content = "<h1>Demonstrate IronPDF with C# LinkedList</h1>" content &= "<h2>1. Using Array.Reverse Method</h2>" Dim someText As String = "AwesomeIronPDF" ' New string variable content &= $"<p>Input String: {someText}</p>" Dim charArray() As Char = someText.ToCharArray() ' Convert string to character array Array.Reverse(charArray) ' Reverse the character array Dim reversed1 As New String(charArray) ' Create a new reversed string Console.WriteLine(reversed1) ' Output: FDPnorIemosewA content &= $"<p>Output: {reversed1}</p>" content &= "<h2>2. Using StringBuilder</h2>" Dim sb As New StringBuilder() ' Create a StringBuilder instance content &= $"<p>Input String: {someText}</p>" For i As Integer = someText.Length - 1 To 0 Step -1 sb.Append(someText.Chars(i)) ' Append characters in reverse order Next i Dim reversed2 As String = sb.ToString() ' Convert StringBuilder to string Console.WriteLine(reversed2) ' Output: FDPnorIemosewA content &= $"<p>Output: {reversed2}</p>" content &= "<h2>3. Using Recursive Approach</h2>" content &= $"<p>Input String: {someText}</p>" Dim reversed3 As String = ReverseString(someText) ' Reverse a string Console.WriteLine(reversed3) ' Output: FDPnorIemosewA content &= $"<p>Output: {reversed3}</p>" ' Create Renderer Dim renderer = New ChromePdfRenderer() ' Create a PDF renderer ' Create a PDF from HTML string Dim pdf = renderer.RenderHtmlAsPdf(content) ' Render HTML to PDF ' Save to a file or Stream pdf.SaveAs("reverseString.pdf") ' Save the PDF file End Sub ' Recursive method to reverse a string Public Shared Function ReverseString(ByVal str As String) As String If str.Length <= 1 Then Return str End If Return ReverseString(str.Substring(1)) + str.Chars(0) ' Recursive call and string concatenation End Function End Class $vbLabelText $csharpLabel 出力 ライセンス(IronPDFの試用版あり) IronPDFライブラリを使用するには、アプリケーションを実行するためのライセンスが必要です。 詳しくはIronPDFのライセンス情報ページで確認できます。 試用ライセンスはIronPDFの試用ライセンスページから取得できます。 以下にappSettings.jsonファイルにキーを貼り付けます。 { "IronPdf.License.LicenseKey": "The Key Goes Here" } 結論 C#での文字列の逆転は一般的なプログラミングタスクであり、さまざまなアプローチと考慮事項があります。 組み込み関数、StringBuilder、または再帰的な方法のいずれを好むかにかかわらず、それぞれの方法には利点、欠点、および最適な使用例があります。 これらの方法を理解し、境界ケースを考慮することで、あなたの特定の要件に合った方法でC#で効果的に文字列を逆にすることができます。 パフォーマンス、メモリ使用量、特殊文字の処理に基づいて、要件に最も適した方法を選択してください。 C# PDF操作のためのIronPDFライブラリを使用すると、開発者はモダンなアプリケーションを開発するための高度なスキルを習得できます。 よくある質問 C#で組み込み関数を使用して文字列を逆転させるにはどうすればいいですか? C#でArray.Reverse()メソッドを使用して文字列を逆転させることができます。文字列を文字配列に変換し、Array.Reverse()を適用し、再び文字列に変換します。 C#で文字列を逆転させる際にStringBuilderを使用する利点は何ですか? StringBuilderを使用してC#で文字列を逆転させることは、特に長い文字列を扱う際に、より良いメモリ効率とパフォーマンスを提供し、文字操作の制御を可能にします。 C#で逆転した文字列をPDFに変換できますか? はい、IronPDFを使用して逆転した文字列をPDFに変換できます。文字列を逆転した後、HTMLコンテンツに組み込んでIronPDFのレンダリングメソッドを使用してPDFを生成できます。 C#アプリケーションにおけるIronPDFの役割は何ですか? IronPDFは、開発者がHTML、URL、またはHTML文字列を高品質のPDFドキュメントにC#アプリケーションで変換することを可能にし、プロフェッショナルなレポートや請求書の作成に適しています。 C#で文字列を逆転する際のエッジケースをどのように処理しますか? C#で文字列を逆転する際には、空またはnullの文字列や特殊文字を含む文字列などのエッジケースを考慮して、適切な処理と堅牢性を確保します。 C#でPDFを生成する際の一般的なトラブルシューティングシナリオは何ですか? 一般的なトラブルシューティングシナリオには、正しいHTMLからPDFへの変換の確保、メモリ使用量の管理、複雑なレイアウトやスタイルの処理が含まれます。IronPDFはこれらの問題に対処するための強力なツールを提供します。 C# プロジェクトに IronPDF をインストールする方法は? IronPDFは、次のコマンドを使用してNuGetパッケージマネージャーからC#プロジェクトにインストールできます:dotnet add package IronPdf --version 2024.4.2。 本番環境でIronPDFを使用するにはライセンスが必要ですか? はい、本番環境でIronPDFを使用するにはライセンスが必要です。評価目的のためにトライアルライセンスを使用でき、フルライセンスの購入前に使用できます。 C#で文字列の逆転に再帰的アプローチを使用する利点は何ですか? 再帰的アプローチはC#でエレガントに文字列を逆転させることができますが、長い文字列には効率が悪く、スタックオーバーフローエラーの原因となる可能性があります。 C#アプリケーションで高品質なPDF出力を確保するにはどうすればよいですか? C#アプリケーションで高品質なPDF出力を確保するには、IronPDFを使用して構造化されたHTMLコンテンツをPDFに変換し、スタイルとレイアウトを効果的に保存します。 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パターンマッチングは、ドキュメント処理のためのよりスマートでクリーンなロジックを構築できます 詳しく読む Xdocument C#(開発者向けの動作方法)C# Linked List(開発者向けの...
更新日 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パターンマッチングは、ドキュメント処理のためのよりスマートでクリーンなロジックを構築できます 詳しく読む