[英]how to change a char to the previous one of it (alphabetically) in string using c#?
您好,我正在尋找一種將字符串中的單個char更改為以前的char的好方法。 我的意思是,如果我有此字符串=“ abcd”,我想將'd'char更改為'c'嗎? 如何將字符更改為之前的字符(按字母順序)?
我想在這里使用該方法:
int StringSize=0;
string s=" ";
s = Console.ReadLine();
StringSize = s.Length;
s.Replace(s[StringSize-1],the previous char);
我想將char的[StringSize-1]更改為其以前的char。
我嘗試根據字符的ASCII碼執行此操作,但是我沒有找到將char格式轉換為ASCII的方法。
char
已經是ASCII,但是要對其進行數學運算,您需要一個數字。
所以:
int
投射回char
char newChar = (char)((int)oldChar - 1);
或在您的代碼中:
s = s.Replace(s[StringSize-1], (char)((int)s[StringSize-1] - 1));
注意事項:
將返回字符串替換為對象,但不更改其值。 解決方案是:
s = s.Replace(s[StringSize-1], the previous char);
var str = "abcd";
for (int i = 0; i < str.Length; i++)
{
str = str.Replace(str[i], (char)((byte)str[i] - 1));
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.