সি # তে চরের অভ্যন্তরে


96

ইন্টটি বৈধ মানের সীমাতে থাকলে, ইউটিএফ 16 এর সাথে সম্পর্কিত চরে কোন মান মান রূপান্তর করার সর্বোত্তম উপায় কী?

উত্তর:


139
(char)myint;

উদাহরণ স্বরূপ:

Console.WriteLine("(char)122 is {0}", (char)122);

উৎপাদনের:

(চর) 122 হ'ল জেড


এটি একটি খারাপ উত্তর। সি = (চর) 49 1 '1' নয়
— nykwil

9
@nykwil আমি জিমলের উত্তরের সাথে কোন ভুল দেখতে পাচ্ছি না।
— টম লিন্ট

10
@nykwil - এটি ভুল তথ্য। Console.WriteLine((char)49 == '1');দেবে সত্য । হিসাবে char c = (char)49; string s = "1two3"; Console.WriteLine(c == s[0]);এই কাস্ট ব্যবহার করা পুরোপুরি ঠিক আছে। আপনার ব্যাখ্যা এটি কাজ না করার একটি বৈধ উদাহরণ সরবরাহ করে না। তদতিরিক্ত, Console.WriteLine((char)49 == 1);এটি মিথ্যা যা মূলত আপনার মন্তব্যকে ভিত্তিহীন করে তোলে।
— ট্র্যাভিস জে

62
int i = 65;
char c = Convert.ToChar(i);

47
রূপান্তর করুন.টোকচার অবশেষে "(চর) মান" হিসাবে একটি সুস্পষ্ট রূপান্তর সম্পাদন করে, যেখানে "মান" আপনার অন্তর্গত মান। এটি করার আগে এটি "মান" 0 থেকে 0xffff সীমার মধ্যে রয়েছে কিনা তা যাচাই করে এবং এটি যদি না হয় তবে একটি ওভারফ্লো এক্সপশন নিক্ষেপ করে। অতিরিক্ত পদ্ধতি কল, মান / সীমানা চেক এবং ওভারফ্লো এক্সসেপশন কার্যকর হতে পারে, তবে যদি না হয় তবে আপনি কেবল "(চর) মান" ব্যবহার করলে পারফরম্যান্স আরও ভাল হবে।
— ট্রায়ঙ্কো

17

সূচিত হিসাবে ঠিক যেমন প্রশ্নের উত্তর দেওয়া হচ্ছে না, তবে আপনার যদি প্রয়োজন হয় বা স্ট্রিং হিসাবে শেষ ফলাফলটি নিতে পারেন তবে আপনি এটিও ব্যবহার করতে পারেন

string s = Char.ConvertFromUtf32(56);

যা প্রয়োজন হলে আপনি ভাড়াটে হল UTF-16 জোড়া দেব, যাতে তুমি রক্ষা যদি আপনি পাশ বাইরে বিএমপি ।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.