GVKun编程网logo

如何在不使用ToString()的情况下将Int转换为C#中的字符串?(string转int不用integer)

28

关于如何在不使用ToString和的情况下将Int转换为C#中的字符串?的问题就给大家分享到这里,感谢你花时间阅读本站内容,更多关于c#–如何在不使用Linq的情况下将IList转换为字符串[]、C#

关于如何在不使用ToString的情况下将Int转换为C#中的字符串?的问题就给大家分享到这里,感谢你花时间阅读本站内容,更多关于c# – 如何在不使用Linq的情况下将IList转换为字符串[]、C#将int转换为带有填充零的字符串?、C#将int转换为带填充零的字符串?、C#将int转换为带有填充零的字符串?等相关知识的信息别忘了在本站进行查找喔。

本文目录一览:

如何在不使用ToString()的情况下将Int转换为C#中的字符串?(string转int不用integer)

如何在不使用ToString()的情况下将Int转换为C#中的字符串?(string转int不用integer)

在不使用任何本机toString功能的情况下,将以下int参数转换为字符串。

public string integerToString(int integerPassedIn){      //Your code here}

因为从一切继承ObjectObjectToString()方法你会如何转换的int一个string不使用本地ToString()方法?

字符串连接的问题在于它将调用ToString()该链,直到它到达一个或到达Object类为止。

如何在不使用C#的情况下将整数转换为字符串ToString()

答案1

小编典典

像这样:

public string IntToString(int a){        var chars = new[] { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9" };    var str = string.Empty;    if (a == 0)    {        str = chars[0];    }    else if (a == int.MinValue)    {        str = "-2147483648";    }    else    {        bool isNegative = (a < 0);        if (isNegative)        {            a = -a;        }        while (a > 0)        {            str = chars[a % 10] + str;            a /= 10;        }        if (isNegative)        {            str = "-" + str;        }    }    return str;}

更新:
这是另一个较短的版本,应该会表现更好,因为它消除了所有字符串连接,而有利于操纵定长数组。它支持的最大基数为16,但是很容易将其扩展到更高的基数。可能需要进一步改进:

public string IntToString(int a, int radix){    var chars = "0123456789ABCDEF".ToCharArray();    var str = new char[32]; // maximum number of chars in any base    var i = str.Length;    bool isNegative = (a < 0);    if (a <= 0) // handles 0 and int.MinValue special cases    {        str[--i] = chars[-(a % radix)];        a = -(a / radix);    }    while (a != 0)    {        str[--i] = chars[a % radix];        a /= radix;    }    if (isNegative)    {        str[--i] = ''-'';    }    return new string(str, i, str.Length - i);}

c# – 如何在不使用Linq的情况下将IList转换为字符串[]

c# – 如何在不使用Linq的情况下将IList转换为字符串[]

我不确定转换IList< string>的最佳方法是什么? (IList不实现ToArray属性)到string []数组.

我不能使用Linq,因为我正在使用.NET 2.0进行编译.任何想法都会很好.

解决方法

使用 ICollection<T>.CopyTo
string[] strings = new string[list.Count];
list.copyTo(strings,0);

我不太确定我是否理解无LINQ限制?听起来如果IList< T>,你会使用ToArray.有它.但事实证明它确实是因为IEnumerable< T> .ToArray是在IEnumerable< T>上定义的扩展方法了.其中IList< T>实现.那你为什么不用它呢?

C#将int转换为带有填充零的字符串?

C#将int转换为带有填充零的字符串?

在 C# 中,我有一个整数值,需要将其转换为字符串,但它需要在之前添加零:

例如:

int i = 1;

当我将其转换为字符串时,它需要变为 0001

我需要知道 C# 中的语法。

C#将int转换为带填充零的字符串?

C#将int转换为带填充零的字符串?

在C#中,我有一个整数值,需要对字符串进行控制,但需要在之前添加零:

例如:

int i = 1;

当我将其转换为字符串时,它需要变为0001

我需要知道C#中的语法。


#1楼

只是

int i=123;
string paddedI = i.ToString("D4");

#2楼

要填充int i以匹配int x的字符串长度,当两者都可以为负数时:

i.ToString().PadLeft((int)Math.Log10(Math.Abs(x < 0 ? x * 10 : x)) + 1, ''0'')

#3楼

C#6.0样式字符串插值

int i = 1;
var str1 = $"{i:D4}";
var str2 = $"{i:0000}";

#4楼

int p = 3; // fixed length padding
int n = 55; // number to test

string t = n.ToString("D" + p); // magic     

Console.WriteLine("Hello, world! >> {0}", t);

// outputs: 
// Hello, world! >> 055

#5楼

i.ToString().PadLeft(4, ''0'') - 好的,但不适用于负数
i.ToString("0000"); - 明确的形式
i.ToString("D4"); - 简短格式说明符

C#将int转换为带有填充零的字符串?

C#将int转换为带有填充零的字符串?

在C#中,我有一个整数值,需要将其转换为字符串,但需要在前面加上零:

例如:

int i = 1;

当我将其转换为字符串时,它需要变为0001

我需要知道C#中的语法。

答案1

小编典典

i.ToString().PadLeft(4, ''0'')-可以,但不适用于负数
i.ToString("0000");-显式格式
i.ToString("D4");-短格式格式说明符
$"{i:0000}";-字符串插值(C#6.0+)

今天关于如何在不使用ToString的情况下将Int转换为C#中的字符串?的分享就到这里,希望大家有所收获,若想了解更多关于c# – 如何在不使用Linq的情况下将IList转换为字符串[]、C#将int转换为带有填充零的字符串?、C#将int转换为带填充零的字符串?、C#将int转换为带有填充零的字符串?等相关知识,可以在本站进行查询。

本文标签: