সি #: স্ট্রিংয়ের প্রথম চর কিভাবে পাবেন?


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বা প্রথম চরিত্র চান ? যদি আপনি এটি চেষ্টা করে দেখেন এবং এটি কাজ করে চলেছে বলে মনে হয়, তবে আবার চেষ্টা করুন 𣊾বা 𣇞, যা উভয়ই আমি কোনও প্রোগ্রামে ব্যর্থ হয়েছি যা সি # তে এই সঠিক বাগ সহ লেখা হয়েছিল।
হিপ্পিট্রেইল

উত্তর:



56

Mystring[0] যথেষ্ট হতে হবে


51
'এই অতিরিক্ত পাঁচ সেকেন্ডে শব্দগুলি টাইপ করে ব্যয় করা উচিত নয়, "যথেষ্ট হওয়া উচিত"।
রবার্ট হার্ভে

এই প্রশ্নের উত্তর আগে কে দিয়েছিল?
ক্রেগ জনস্টন

এটি ম্যাথিউ হিসাবে দেখতে প্রাচীনতম ট্যাবটি নির্বাচন করুন
জনক

10
@ জোহঙ্ক: বা আরও ভাল, টাইমস্ট্যাম্পের উপর দিয়ে ঘুরে দেখুন।
জেফ মার্কাডো

21

এটা চেষ্টা কর,

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


6
এই উত্তর এবং নির্বাচিত একটির মধ্যে পার্থক্য হ'ল এই সমাধানটি একটি স্ট্রিং দেয় এবং অন্যটি একটি চর দেয়।
Loïc Lopes

চর কেবল একটি চরিত্র পান তবে আমার সমাধানটি আপনি চাইলে একের বেশি ফলাফল হতে পারে।
সঞ্জয় কুমার

1
এটি ঠিক একটি নির্ভুলতা ছিল কারণ আপনি যা করতে চান তা অনুসারে টাইপটি গুরুত্বপূর্ণ হতে পারে।
Loïc Lopes

18

MyString[0]এবং এর মধ্যে পার্থক্যটি MyString.ToCharArray()[0]হ'ল প্রাক্তন স্ট্রিংটিকে কেবল পঠনযোগ্য অ্যারে হিসাবে বিবেচনা করে, যখন ToCharArray()একটি নতুন অ্যারে তৈরি করে। প্রাক্তনটি যেখানে কাজ করবে তার প্রায় প্রতিটি ক্ষেত্রে দ্রুত (সহজ সাথে) হবে, তবে ToCharArrayআপনার যদি অ্যারে গ্রহণ করার প্রয়োজন এমন একটি পদ্ধতি থাকে বা আপনি অ্যারে পরিবর্তন করতে চান তবে প্রয়োজনীয় হতে পারে।

যদি স্ট্রিংটি অ-নাল এবং শূন্য নয় বলে জানা যায় তবে আপনি এটি করতে পারেন:

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

যা char?যথাযথভাবে স্ট্রিংয়ের শূন্য বা প্রথম অক্ষরের একটি প্রদান করে।


char?"প্রথম কোনও চরিত্র নেই" সম্ভাবনাটি অন্তর্ভুক্ত করার উপায় হিসাবে উল্লেখ করার জন্য ধন্যবাদ ।
টুলমেকারস্টেভ

17

আপনি লিনকিউ ব্যবহার করতে পারেন

char c = mystring.FirstOrDefault()

'\0'স্ট্রিং ফাঁকা থাকলে এটি সমান হবে ।


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

আপনার প্রশ্নের উত্তর নেই।

সঠিক হ'ল মাইস্ট্রিং [চরিত্রের অবস্থান]। আপনার ক্ষেত্রে মাইস্ট্রিং [0], 0 হল কোনও স্ট্রিংয়ের প্রথম অক্ষর।

একটি অক্ষর মানকে '(একক উদ্ধৃতি) দিয়ে মনোনীত করা হয়, এই x অক্ষরের মানকে' x 'হিসাবে লেখা হয়।

একটি স্ট্রিং মান "(ডাবল উদ্ধৃতি) দিয়ে মনোনীত করা হয়, এই x স্ট্রিংয়ের মানকে" x "হিসাবে লেখা হয়।

সুতরাং সাবস্ট্রিং () পদ্ধতিটিও কোনও অক্ষর ফেরায় না, সাবস্ট্রিং () পদ্ধতিটি একটি স্ট্রিং দেয় !!!

একটি স্ট্রিং অক্ষরের একটি অ্যারে এবং শেষ অক্ষরটি অবশ্যই '\ 0' (নাল) অক্ষর হতে হবে। অক্ষরের অ্যারে এবং স্ট্রিংয়ের মধ্যে পার্থক্য নির্ধারণ করে (এটি "অক্ষরের মার্কার শেষ" "\ 0 'নাল হিসাবে শেষ অক্ষরের সাথে অক্ষরের একটি অ্যারে।

এবং আরও লক্ষ করুন যে 'x' "x" এর সমান নয়। কারণ "x" আসলে 'x' + '\ 0'।


0

সি # 8 এ আপনি ব্যাপ্তি ব্যবহার করতে পারেন।

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

একটি যোগ করুন ?পরে myStringহ্যান্ডেল করতে nullস্ট্রিং।


-2

স্ট্রিং থেকে চার্জ প্রাপ্তি এনকন্ডিংয়ের উপর নির্ভর করে (স্ট্রিং ডিফল্টটি ইউটিএফ -১ 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
এ কেমন উত্তর?
নীলেশ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.