簡體   English   中英

使用c#反轉字符串

[英]Reverse a string using c#

為了反轉字符串,我們將其轉換為字符數組,然后我們使用for循環來打印反轉的字符串。 但是在下面的程序中,我們從字符串中獲取字符而不將其轉換為字符。 我真的很困惑它是怎么發生的。 變量str是字符串,那么為什么str[i]返回一個字符?

public static void Main() {
  string str = "hello mr singh";
  string temp ="";

  for (int i = str.Length - 1; i >= 0; i--) {
    temp += str[i];
  }
  Console.WriteLine("Reverse string:" + temp);
  Console.ReadLine();
}

嘗試這個:

string str = "hello mr singh";
char[] arr = str.ToCharArray();
Array.Reverse(arr);
_revArray = string(arr);

str是一個字符串,您可以使用str[i]它的每個字符,因此要反轉字符串, for循環從最后一個字符開始int i = str.Length - 1並將結果存儲在新字符串temp

例如,如果您想反轉字符串"hello" ,則字符串長度為5因此 lopp 將從 4 開始,因此我們將有:

str[4] = 'o', str[3] = 'l', str[2] = 'l', str[1] = 'e', str[0] = 'h'

最后將結果存儲在變量temp

temp = str[4] + str[3]  + str[2] + str[1] + str[0];

所以結果字符串是字符的連接。

如果您想要一種更有效的方法來反轉字符串,請檢查這個問題的答案: Best way to reverse a string

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM