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


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.