我是 C# 的初學者,正在學習一些教程。我最近在操作字符串時遇到了這個問題。
string myName = "Jhon";
myName = myName.ToUpper();
myName = myName.Replace("Jhon", "doe").ToUpper();
Console.WriteLine($"Hello {myName}");
Console.WriteLine($"Hello {myName}");
答案是
Hello JHON
Hello JHON
為什麼字符串Jhon沒有被替換為doe?為什麼第一個有效而最後一個沒有?
您myName
使用第二行中的函數將 的值更改為大寫.ToUpper()
,將Jhon轉換為JHON。
然後在第三行,您嘗試用doe替換Jhon,但不要忘記您剛剛將Jhon轉換為JHON!
該.Replace()
函數區分大小寫,不會在您的字符串中找到任何匹配的替換
此外,如果您想myName
在將其轉換為大寫後立即顯示,您應該Console.WriteLine($"Hello {myName}");
在第二行和第三行之間放置一個,因為如果不是,您將在控制台中顯示之前再次修改該值
最後,您的代碼可能如下所示:
string myName = "Jhon";
myName = myName.ToUpper();
Console.WriteLine($"Hello {myName}");
myName = myName.Replace("JHON", "doe").ToUpper();
Console.WriteLine($"Hello {myName}");
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句