首页 > 解决方案 > 如何在不使用其他类库的情况下编写 toString 方法

问题描述

我想编写自己的 toString 方法,因为我不允许使用任何类库。

所以我看了一下 toString 方法的源代码,但是它使用了很多其他的库。我想将整数转换为字符串,但我不确定如何逐个处理数字。

如果我能做到这一点,我可以继续将整数转换为字符,最后将所有字符相加为字符串。

有人可以帮忙吗?

标签: c#

解决方案


我不明白为什么不允许您使用任何库。但是,如果您需要完全手动进行转换,您可以这样做

private static string IntToString(int i)
{
    string[] digits = {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9"};
    string sign = (i < 0 ? "-" : "");
    var absI = (i < 0 ? -i : i);
    string result = "";
    while (absI != 0)
    {
        int digit = absI % 10;
        result = digits[digit] + result;
        absI = (absI - digit) / 10;
    }
    return sign + result;
}

上面的代码不能正常工作为零。如果您需要,添加起来非常简单。


推荐阅读