[英]string reverse in C#
例如,我的輸入是my name is abcd
我需要顯示為dcba si eman ym
我在下面做了一個輸出,因為abcd is name my
但不知道接下來要做什么
static void Main(string[] args)
{
Console.WriteLine("Enter a string: ");
string[] input = Console.ReadLine().Split(' ');
for (int i = input.Length-1; i >=0; i--)
{
Console.Write(input[i]+" ");
}
Console.ReadKey();
}
您可以使用 API - Array.Reverse
char[] charArray = input.ToCharArray();
Array.Reverse( charArray );
reversed = new string( charArray );
試試這個,這將完美地工作。 我想這就是你一直在尋找的!
string Str, reversestring = "";
int Length;
Console.Write("Enter A String : ");
Str = Console.ReadLine();
Length = Str.Length - 1;
while (Length >= 0)
{
reversestring = reversestring + Str[Length];
Length--;
}
Console.WriteLine("Reverse String Is {0}", reversestring);
Console.ReadLine();
我的小提琴示例:用單詞和文本反轉
您不需要string[] input = Console.ReadLine().Split(' ');
的.Split(' ')
string[] input = Console.ReadLine().Split(' ');
您可以簡單地使用string input = Console.ReadLine();
讀取整行string input = Console.ReadLine();
然后反轉整條線。
如果您查看以下鏈接,它會提供兩個選項。
Array.Reverse
反轉整個字符串您的代碼所做的是按單詞反轉初始字符串,如下所示:
my name is abcd --> abcd is name my
要更改此設置,您需要讀取整個字符串並將其用作字符數組:
var input = Console.ReadLine();
var sb = new StringBuilder(input.Length);
for (var i = input.Length - 1; i >= 0; --i)
{
sb.Append(input[i]);
}
Console.WriteLine(sb.ToString());
您也可以使用Array.Reverse
方法:
var input = Console.ReadLine();
var charArray = input.ToCharArray();
Array.Reverse(charArray);
var reversed = new string(charArray);
Console.WriteLine(reversed);
您可以使用 LINQ 的 Aggregate 函數來反轉字符串
Console.WriteLine("Enter a string: ");
string input = Console.ReadLine();
input = input.Aggregate(new StringBuilder(), (j, k) => j.Insert(0, k)).ToString();
聚合將每個 Char 附加到反向字符串
public static string RevString(string str)
{
var charArry = str.ToCharArray();
Array.Reverse(charArry);
return new string(charArry);
}
public static string RevString2(string str)
{
string revString = "";
foreach( char c in str)
{
revString = c + revString;
}
return revString;
}
//no change to the order of the words
public static string RevString3(string str)
{
string[] strArray = str.Split(' ');
string revString = "";
foreach (string s in strArray)
{
var charArray = s.ToCharArray();
Array.Reverse(charArray);
revString += new string(charArray) + " ";
}
return revString;
}
public static string RevString4(string str)
{
string[] strArray = str.Split(' ');
string revString = "";
foreach (string s in strArray)
{
string revWord = "";
foreach(char c in s)
{
revWord = c + revWord;
}
revString += revWord + " ";
}
return revString;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.