2012-03-25 11 views
6

संभव डुप्लिकेट भुनाने:
How to make a first letter capital in C#सी # वाक्य

मैं एक वाक्य यह है कि क्या है में पहला शब्द फायदा उठाने की कोशिश कर रहा हूँ लेकिन यह काम नहीं कर रहा है। किसी भी सहायता के लिए अग्रिम रूप से धन्यवाद।

char.ToUpper(sentence[0]) + sentence.Substring(1) 
+0

क्या आपका मतलब वाक्य का पहला अक्षर है? –

+0

सोल्वड- मैंने इसे निम्नलिखित करके हल किया। मुझे कुछ कारणों के लिए वाक्य [1] और substring (2) होने की आवश्यकता थी। वाक्य = Char.ToUpper (वाक्य [1]) + वाक्य। सब्स्ट्रिंग (2); – amedeiros

+0

शायद आप पहले वाक्य पर 'वाक्य = वाक्य.Trim();' चला सकते हैं। पहले पत्र से पहले एक जगह हो सकती है। – fredsbend

उत्तर

4

ऐसा लगता है कि तुम सिर्फ एक string मूल्य का पहला वर्ण फायदा उठाने की कोशिश कर रहे हैं। यदि ऐसा है तो आपका कोड ठीक है लेकिन आपको नई स्ट्रिंग को sentence मान में वापस असाइन करने की आवश्यकता है।

sentence = char.ToUpper(sentence[0]) + sentence.Substring(1) 

नेट में एक string अपरिवर्तनीय है और इसलिए हर आपरेशन जो string बदल जाता है एक नया मान पैदा करता है। यह मूल मूल्य को जगह में नहीं बदलेगा। तो परिवर्तन के नतीजे देखने के लिए आपको इसे एक चर में असाइन करना होगा।

+0

मैंने कोशिश की लेकिन यह अभी भी एक ही परिणाम है। – amedeiros

+0

@ user1072481 फिर आप 'वाक्य' का उपयोग कैसे कर रहे हैं? उपरोक्त कोड ठीक काम करना चाहिए तो यह परिणाम – JaredPar

9

जेरेडपार का समाधान सही है, लेकिन मैं आपको TextInfo कक्षा की ओर इंगित करना चाहता हूं। ToTitleCase() पहले अक्षर को पूंजीकृत करेगा, और शेष को निम्न-मामले में परिवर्तित करेगा।

 string s = "heLLo"; 
     var t = new CultureInfo("en-US", false).TextInfo; 
     s = t.ToTitleCase(s); //prints "Hello" 
+8

आप एक नया CultureInfo बनाए बिना यह कर सकते हैं के उपयोग में होना चाहिए - 'CultureInfo.CurrentCulture.TextInfo.ToTitleCase (रों)' – Blorgbeard

+3

यह मामला नहीं है। TextInfo.ToTitleCase() एक अपर केस चरित्र के लिए हर शब्द * के पहले अक्षर *, न सिर्फ स्ट्रिंग (इस मामले में सजा) है, जो क्या प्रश्न के लिए पूछ रहा है है के पहले अक्षर को बदल देता है। –

+0

@Camille सेविigny टिप्पणी देखें। – Zunair

संबंधित मुद्दे