c# - Int को स्ट्रिंग में कनवर्ट करें?




string (7)

मैं एक int डेटाटाइप को सी # में एक string डेटाटाइप में कैसे परिवर्तित कर सकता हूं?


@ जेवियर की प्रतिक्रिया के आगे, यहां एक ऐसा पृष्ठ है जो 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

उत्तरों में से कोई भी उल्लेख नहीं करता है कि ToString() विधि को पूर्णांक अभिव्यक्तियों पर लागू किया जा सकता है

Debug.Assert((1000*1000).ToString()=="1000000");

यहां तक ​​कि पूर्णांक अक्षर भी

Debug.Assert(256.ToString("X")=="100");

यद्यपि इस तरह के पूर्णांक अक्षर को अक्सर खराब कोडिंग शैली ( जादू संख्या ) माना जाता है, ऐसे मामले हो सकते हैं जहां यह सुविधा उपयोगी है ...


बस यदि आप बाइनरी प्रतिनिधित्व चाहते हैं और आप अभी भी पिछली रात पार्टी से नशे में हैं:

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("}");
}

या:

string s = Convert.ToString(num);

string myString = myInt.ToString();

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();

using System.ComponentModel;

TypeConverter converter = TypeDescriptor.GetConverter(typeof(int));
string s = (string)converter.ConvertTo(i, typeof(string));





int