C #: स्ट्रिंग का पहला चार्ट कैसे प्राप्त करें?


177

क्या charनिम्नलिखित में से एक स्ट्रिंग को पहले प्राप्त किया जा सकता है?

MyString.ToCharArray[0]

4
जब आपने इसे आज़माया तो आपने क्या सीखा?
माइकल पेट्रोत्ता

1
@ मिचेल: एक संकलक त्रुटि थी। यदि आप इस तरह नहीं तो ToCharArray का उपयोग कैसे करें?
क्रेग जॉनसन

3
रिकॉर्ड के लिए, ToCharArrayएक विधि है , आपको इसे पहले चलाना चाहिए, उदाहरण के लिए char[] chars = str.ToCharArray();, और फिर उपयोग करना चाहिए char first = chars[0];। आप इसे कसाई भी बना सकते हैं str.ToCharArray()[0];। किसी भी तरह से, सुनिश्चित करें कि आप जाँच करते हैं कि स्ट्रिंग शून्य नहीं है और कम से कम एक वर्ण है - आप इसका उपयोग कर सकते हैं if(!String.IsNullOrEmpty(str))
कोबी

1
क्रेग .. ToCharArray का उपयोग गलत है। मेरा जवाब देखिए।
नयन

4
क्या आप पहला charया पहला किरदार चाहते हैं? यदि आप यह कोशिश करते हैं और यह काम करने लगता है, तो एक बार फिर से प्रयास करें 𣊾या 𣇞, जो कि मैं एक प्रोग्राम में विफल रहा था जो कि C # में इस सटीक बग के साथ लिखा गया था।
हिप्पिएट्रेल

जवाबों:



56

Mystring[0] पर्याप्त होगा


51
शब्दों को टाइप करने में उन अतिरिक्त पाँच सेकंड को खर्च नहीं करना चाहिए, "पर्याप्त होना चाहिए"।
रॉबर्ट हार्वे

इस सवाल का जवाब सबसे पहले किसने दिया?
क्रेग जॉनसन

यह देखने के लिए सबसे पुराने टैब का चयन करें कि यह
बजे

10
@ जॉन्क: या बेहतर, टाइमस्टैम्प पर मंडराना।
जेफ मर्काडो

21

इसे इस्तेमाल करे,

string s1="good"; string s=s1.Substring(0,1);


6
इस उत्तर और चुने हुए के बीच का अंतर यह है कि यह समाधान एक स्ट्रिंग लौटाता है, और दूसरा एक चार रिटर्न देता है।
लोकोप्स

char को केवल एक वर्ण मिलता है, लेकिन यदि आप चाहें तो मेरा समाधान एक से अधिक हो सकता है।
संजय कुम्हार

1
यह सिर्फ एक सटीक था क्योंकि आप इसके साथ क्या करना चाहते हैं, इस प्रकार का महत्व हो सकता है।
लोकोप्स

18

के बीच का अंतर MyString[0]और MyString.ToCharArray()[0], कि पूर्व व्यवहार करता है केवल पढ़ने के लिए सरणी के रूप में स्ट्रिंग है, जबकि ToCharArray()एक नई सरणी बनाता है। पूर्व लगभग किसी भी चीज़ के लिए त्वरित (आसान के साथ) होगा जहां यह काम करेगा, लेकिन ToCharArrayआवश्यक हो सकता है यदि आपके पास एक विधि है जिसे किसी सरणी को स्वीकार करने की आवश्यकता है, या यदि आप सरणी बदलना चाहते हैं।

यदि स्ट्रिंग को गैर-अशक्त और गैर-रिक्त नहीं जाना जाता है, तो आप कर सकते हैं:

string.IsNullOrEmpty(MyString) ? (char?)null : MyString[0]

जो char?उचित रूप में, स्ट्रिंग में या तो अशक्त या पहले वर्ण की वापसी करता है।


char?संभावना को शामिल करने के तरीके के रूप में उल्लेख करने के लिए धन्यवाद "कोई पहला चरित्र नहीं है"।
ToolmakerSteve


8

या आप यह कर सकते हैं:

MyString[0];

6
@ रोबर्ट, नाउ, मैं इसे एक बार देखना चाहता हूं, बस यह सुनिश्चित करने के लिए!
jjnguy

1
मैं सिर्फ अपने से पहले नहीं देख पाया :)
james_bond

1
कोई चिंता नहीं। मैं भी हर समय ऐसा करता हूं। मैं बहुत धीमी गति से चलने वाला टाइपर हूं।
jjnguy

8

बस एक और दृष्टिकोण:

string mystr = "hello";
MessageBox.show(mystr.Substring(0, 1));

5

मुझे लगता है कि आप इसके लिए देख रहे हैं MyString.ToCharArray()[0]

:)

लेकिन आप भी उपयोग कर सकते हैं MyString[0]



0

एक स्ट्रिंग से पहला चरित्र प्राप्त करने के लिए निम्नलिखित उदाहरण किसी की मदद कर सकते हैं

string anyNameForString = "" + stringVariableName[0];

0

आपके सवाल का जवाब नहीं है।

सही है MyString [चरित्र की स्थिति]। आपके मामले के लिए MyString [0], 0 किसी भी स्ट्रिंग का पहला चरित्र है।

एक वर्ण मान '(एकल उद्धरण) के साथ नामित किया गया है, जैसे कि x वर्ण मान को' x 'लिखा जाता है।

एक स्ट्रिंग मान "(डबल उद्धरण) के साथ नामित किया गया है, जैसे कि x स्ट्रिंग मान को" x "लिखा जाता है।

इसलिए पदार्थ () विधि भी एक चरित्र नहीं लौटाती है, पदार्थ () विधि एक स्ट्रिंग लौटाती है !!!

एक स्ट्रिंग वर्णों की एक सरणी है, और अंतिम वर्ण '\ 0' (अशक्त) वर्ण होना चाहिए। वर्ण सरणी और स्ट्रिंग के बीच का अंतर (जो कि अंतिम वर्ण वाले वर्णों का एक सरणी है, "स्ट्रिंग मार्कर का अंत" \ n 0 के रूप में)।

और यह भी ध्यान दें कि 'x' IS "E" के समान नहीं है। क्योंकि "x" वास्तव में 'x' + '0' है।


0

C # 8 में आप रेंज का उपयोग कर सकते हैं।

myString[0..Math.Min(myString.Length, 1)]

तारों को संभालने के ?बाद एक जोड़ें ।myStringnull


-2

स्ट्रिंग से एक चार्ट प्राप्त करना एन्कोडिंग पर निर्भर हो सकता है (स्ट्रिंग डिफ़ॉल्ट UTF-16 है)

https://stackoverflow.com/a/32141891

string str = new String(new char[] { '\uD800', '\uDC00', 'z' });
string first = str.Substring(0, char.IsHighSurrogate(str[0]) ? 2 : 1);

2
यह कैसा उत्तर है?
नीलेश
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.