[英]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.