আমি কীভাবে সি # int
তে একটি string
ডেটাটাইপকে ডেটাটাইপে রূপান্তর করতে পারি ?
আমি কীভাবে সি # int
তে একটি string
ডেটাটাইপকে ডেটাটাইপে রূপান্তর করতে পারি ?
উত্তর:
string myString = myInt.ToString();
null
মানের জন্য ব্যতিক্রম ছুঁড়ে দেয় ।
string s = i.ToString();
string s = Convert.ToString(i);
string s = string.Format("{0}", i);
string s = $"{i}";
string s = "" + i;
string s = string.Empty + i;
string s = new StringBuilder().Append(i).ToString();
string count = "" + intCount;
.ToString()
রূপান্তরটি করার সবচেয়ে কার্যকর উপায়। এখানে উপস্থাপিত অন্যান্য সমস্ত পদ্ধতি অবশেষে .ToString()
যাইহোক কল করবে ।
s
string s = "xyz" + i;
একটি নতুন "xyz" স্ট্রিং তৈরি করবে - আপনার পূর্ণসংখ্যযুক্ত নতুন স্ট্রিং তৈরি করবে; এবং তারপরে একটি তৃতীয় স্ট্রিং তৈরি করুন যাতে 2 টি সমাপ্ত হয়। string.Format("xyz{0}", i);
অন্যদিকে, কেবল 2 টি স্ট্রিং তৈরি করতে সক্ষম - এটি তাদের ইনলাইনটিকে একত্র করে দিচ্ছে। স্ট্রিং দীর্ঘ হওয়ার সাথে সাথে এই কর্মক্ষমতা আরও লক্ষণীয় হয়ে ওঠে।
কেবলমাত্র যদি আপনি বাইনারি প্রতিনিধিত্ব চান এবং আপনি এখনও শেষ রাতের পার্টি থেকে মাতাল:
private static string ByteToString(int value)
{
StringBuilder builder = new StringBuilder(sizeof(byte) * 8);
BitArray[] bitArrays = BitConverter.GetBytes(value).Reverse().Select(b => new BitArray(new []{b})).ToArray();
foreach (bool bit in bitArrays.SelectMany(bitArray => bitArray.Cast<bool>().Reverse()))
{
builder.Append(bit ? '1' : '0');
}
return builder.ToString();
}
দ্রষ্টব্য: খুব সুন্দরভাবে শেষ করতে হবে না এমন কিছু সম্পর্কে ...
সম্পাদনা করুন: আপনি যদি গতির জন্য কিছুটা মেমরি বলি দিতে আপত্তি না করেন তবে প্রাক-গণনাযুক্ত স্ট্রিং মানগুলির সাথে একটি অ্যারে তৈরি করতে আপনি নীচে ব্যবহার করতে পারেন:
static void OutputIntegerStringRepresentations()
{
Console.WriteLine("private static string[] integerAsDecimal = new [] {");
for (int i = int.MinValue; i < int.MaxValue; i++)
{
Console.WriteLine("\t\"{0}\",", i);
}
Console.WriteLine("\t\"{0}\"", int.MaxValue);
Console.WriteLine("}");
}
যে কোনও অবজেক্টের টোস্ট্রিং পদ্ধতিতে সেই অবজেক্টের একটি স্ট্রিং উপস্থাপনা ফিরে আসার কথা।
int var1 = 2;
string var2 = var1.ToString();
@ জাভিয়ের প্রতিক্রিয়ায় আরও, এখানে এমন একটি পৃষ্ঠা যা 100 টি পুনরাবৃত্তি থেকে 21,474,836 পুনরাবৃত্তি পর্যন্ত রূপান্তরটি করার বিভিন্ন উপায়ের মধ্যে গতির তুলনা করে ।
মনে হয় এটির মধ্যে বেশ একটা টাই হয়েছে:
int someInt = 0;
someInt.ToString(); //this was fastest half the time
//and
Convert.ToString(someInt); //this was the fastest the other half the time
string str = intVar.ToString();
কিছু পরিস্থিতিতে, আপনার ব্যবহার করতে হবে না ToString()
string str = "hi " + intVar;
বা:
string s = Convert.ToString(num);
উত্তরের কোনওটিতেই উল্লেখ করা হয়নি যে ToString()
পদ্ধতিটি পূর্ণসংখ্যার এক্সপ্রেশনগুলিতে প্রয়োগ করা যেতে পারে
Debug.Assert((1000*1000).ToString()=="1000000");
এমনকি পূর্ণসংখ্যার আক্ষরিক পর্যন্ত
Debug.Assert(256.ToString("X")=="100");
যদিও এর মতো পূর্ণসংখ্যার অক্ষরগুলিকে প্রায়শই খারাপ কোডিং স্টাইল হিসাবে বিবেচনা করা হয় ( যাদু সংখ্যা ) এমন বৈশিষ্ট্য থাকতে পারে যেখানে এই বৈশিষ্ট্যটি কার্যকর ...
using System.ComponentModel;
TypeConverter converter = TypeDescriptor.GetConverter(typeof(int));
string s = (string)converter.ConvertTo(i, typeof(string));
i.ToString
- বাকিগুলি কেবলমাত্র সম্পূর্ণতা এবং মজাদার জন্যেই।
typeof(int)
এবং typeof(string)
আপনার কাছে টাইপ ভেরিয়েবল থাকতে পারে এবং এটি যখনই উপস্থিত থাকবে তখন উপযুক্ত রূপান্তরকারী খুঁজে পেতে এবং ব্যবহার করতে পারে।