我想利用在一個句子這是有第一個字,但它無法正常工作。預先感謝您的幫助。
char.ToUpper(sentence[0]) + sentence.Substring(1)
我想利用在一個句子這是有第一個字,但它無法正常工作。預先感謝您的幫助。
char.ToUpper(sentence[0]) + sentence.Substring(1)
這聽起來像你只是想利用一個string
值的第一個字符。如果是這樣,那麼你的代碼很好,但你需要將新字符串分配回sentence
值。
sentence = char.ToUpper(sentence[0]) + sentence.Substring(1)
在.NET中string
是不可改變的,因此每一個改變所述string
操作產生一個新值。它不會改變原來的價值。因此,爲了看到更改的結果,您必須將其分配給一個變量。
JaredPar的解決方案是正確的,但我也想指出你對TextInfo類。 ToTitleCase()將大寫第一個字母,並將其餘的轉換爲小寫。
string s = "heLLo";
var t = new CultureInfo("en-US", false).TextInfo;
s = t.ToTitleCase(s); //prints "Hello"
你可以做到這一點,而無需創建一個新的CultureInfo - 'CultureInfo.CurrentCulture.TextInfo.ToTitleCase(s)' – Blorgbeard 2012-12-03 22:06:25
情況並非如此。 TextInfo.ToTitleCase()將每個單詞*的第一個字母*轉換爲大寫字符,而不僅僅是字符串的第一個字母(本例中爲句子),這就是問題所要求的。 – 2015-01-20 14:20:32
請參閱@CamilleSévigny評論。 – Zunair 2017-04-11 17:39:32
您是指句子的第一個字母? – 2012-03-25 16:23:38
已解決 - 我通過執行以下操作來解決此問題。我需要它作爲句子[1]和子串(2)的一些補充原因。 sentence = Char.ToUpper(sentence [1])+ sentence.Substring(2); – amedeiros 2012-03-25 16:54:19
也許你可能先運行'sentence = sentence.Trim();'。第一個字母之前可能有空格。 – fredsbend 2013-03-24 23:21:28