ホームページ >バックエンド開発 >C#.Net チュートリアル >C# で文字列を反転する
Reverse は、文字列または数値を後ろから前に反転するために使用されます。文字列 educba の場合、反転文字列は abcude です。番号 9436 の場合、反転は 6349 です。反転文字列を使用すると、任意の文字列を反転できます。このメソッドはさまざまな方法で実装できます。すべてのメソッドには log(n) があります。一部の方法は他の方法よりも高速です。
一部のメソッドはより多くのコード行を使用し、本質的に複雑であるため、理解するのが難しい場合があります。番号を逆にすることもできます。
メソッド
ここでは、文字列を反転できるいくつかのメソッドを紹介します。
したがって、要件に応じて上記のアプローチのいずれかを使用できます。
以下は C# での逆文字列の例です。
コード:
using System ; using System.Collections.Generic ; using System.Linq ; using System.Text ; using System.Threading.Tasks ; namespace ReverseString { class Program { static void Main(string[] args) { string Str, rev; Str = "Programming" ; rev = ""; Console.WriteLine("Value of given String is: {0}", Str) ; // find string length int a; a = Str.Length - 1 ; while (a >= 0) { rev = rev + Str[a] ; a--; } Console.WriteLine("Reversed string is: {0}", rev) ; Console.ReadLine() ; } } }
上記のプログラムでは、文字列の値を格納する変数として Str が使用されています。 While ループは文字列を反転するために使用され、その背後にあるロジックは文字の位置を右から左に 1 つずつ変更することです。
出力:
コード:
using System ; using System.Collections.Generic; using System.Linq ; using System.Text ; using System.Threading.Tasks ; static class StringHelper { public static string ReverseString(string str) { char[] array = str.ToCharArray() ; Array.Reverse(array) ; return new string(array) ; } } class Program { static void Main() { Console.WriteLine(StringHelper.ReverseString("This")) ; Console.WriteLine(StringHelper.ReverseString("is")) ; Console.WriteLine(StringHelper.ReverseString("C#")) ; Console.WriteLine(StringHelper.ReverseString("programming")) ; Console.ReadLine(); } }
上記の例では、ReverseString メソッドを使用して、配列を反転する必要がある文字列の値を取得します。逆は文字の順序の変更に使用されます。
出力:
コード:
using System; using System.Collections.Generic ; using System.Linq ; using System.Text ; using System.Threading.Tasks ; namespace reverseString { class Program { static void Main(string[] args) { string s = "", rev = "" ; int len = 0 ; Console.WriteLine("Enter a string") ; s = Console.ReadLine(); len = s.Length - 1; while (len >= 0) { rev = rev + s[len] ; len--; } Console.WriteLine("Reverse of string is {0}", rev) ; Console.ReadLine(); } } }
上記のプログラムでは、ユーザーからの入力を取得して文字列を反転しています。変数は文字列の値を格納するために使用されます。 While ループは文字列を反転するために使用され、その背後にあるロジックは文字の位置を右から左に 1 つずつ変更することです。
出力:
コード:
using System; using System.Collections.Generic ; using System.Linq ; using System.Text ; using System.Threading.Tasks ; namespace reverseString { class Program { static void Main(string[] args) { string s; Console.Write(" Enter the string : ") ; s = Console.ReadLine(); s = StringReverse(s); Console.Write(" Reverse is : ") ; Console.Write(s) ; Console.ReadLine() ; } public static string StringReverse(string s) { if (s.Length > 0) return s[s.Length - 1] + StringReverse(s.Substring(0, s.Length - 1)) ; else return s ; } } }
出力:
コード:
using System ; using System.Collections.Generic ; using System.Linq ; using System.Text ; using System.Threading.Tasks ; namespace reverseString { class Program { public static void Main() { Console.WriteLine(reverse("Hello")) ; Console.ReadLine(); } public static string reverse(string s) { string reverseStr = "" ; for (int a = s.Length - 1; a >= 0; a--) { reverseStr = reverseStr + s[a] ; } return reverseStr ; } } }
上記の例では、for ループを使用して指定された文字列を反転します。
出力:
コード:
using System ; using System.Collections.Generic ; using System.Linq ; using System.Text ; using System.Threading.Tasks ; namespace reverseString { class Program { public static void Main() { string s; Console.WriteLine("The value of given string is ") ; s = Console.ReadLine() ; char[] array = s.ToCharArray() ; Array.Reverse(array); Console.WriteLine(new String(array)) ; Console.ReadLine() ; } } }
出力:
したがって、アプローチの数を使用して、任意の文字列または数値を逆にすることができます。ただし、各メソッドには独自の時間計算量があるため、選択がパフォーマンスに影響を与えないようにする必要があります。
以上がC# で文字列を反転するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。