将字符添加到字符串的最后位置

时间:2014-05-28 15:40:29

标签: c# string insert binary numbers

我尝试将数字转换为二进制数。所以这是我的代码:

static void Main(string[] args)
    {
        Console.WriteLine("Geben Sie eine Zahl ein, die convertiert werden soll!");
        int a = Convert.ToInt16(Console.ReadLine());
        string b = "";

        while (a != 0)
        {
            if (a %  2 == 0)
            {
                b.Insert(b.Length, "0"); 
            }
            else
            {
                b.Insert(b.Length(), "1"); 
            }
            a = a / 2;

        }
        Console.WriteLine(b);
        Console.ReadLine(); 

    }

问题是,数字的顺序是错误的。所以我创建一个字符串并将数字添加到最后一个位置。但是当我执行代码时没有任何事情发生......

4 个答案:

答案 0 :(得分:1)

使用字符串构建器并追加到末尾。效率更高,因为每次编辑都不会创建新字符串。

var sb = new StringBuilder();

...

sb.Append("0");
sb.Append("1");

完成后,请用ToString()

写出来
Console.WriteLine(sb.ToString());

要解决您的订单问题,请尝试插入而不是结束。

sb.Insert(0, "0");
sb.Insert(0, "1");

答案 1 :(得分:1)

要连接字符串,只需使用+运算符即可。

b = b + '0';//add to the end
b = '0' + b;//or front

将Convert.ToString用于二进制格式

Convert.ToString(a, 2)

答案 2 :(得分:0)

Insert()返回由旧字符串和您插入的字符串组成的新字符串。它不会更改原始字符串,您必须将值重新分配给b或将值分配给新变量。

试试这样:

b = b.Insert(0, "0");

编辑:更改插入字符串的索引,如您想要的最新值。

答案 3 :(得分:0)

您可以使用StringBuilder 在System.Text下 using System.Text;

    StringBilder b = new StringBuilder();


    b.Append("0");
    b.Append("1");

了解更多Here