在字符串的最后一个位置添加一个字符

本文关键字:一个 字符 添加 字符串 最后一个 位置 | 更新日期: 2023-09-27 18:05:30

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

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

问题是,这些数字的顺序是错误的。因此,我创建一个字符串,并将数字添加到最后一个位置。但是当我执行代码时什么也没发生

在字符串的最后一个位置添加一个字符

使用字符串构建器并将其添加到末尾。更有效率,因为每次编辑都不会创建一个新的字符串。

var sb = new StringBuilder();
...
sb.Append("0");
sb.Append("1");

等。

完成后,用ToString()

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

要解决您的顺序问题,请尝试在开头而不是末尾插入。

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

要连接字符串,只需使用+操作符。

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

使用转换。用于二进制格式的ToString

Convert.ToString(a, 2)

您可以使用StringBuilder在系统。文本 using System.Text;

    StringBilder b = new StringBuilder();

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

点击这里阅读更多

Insert()返回由旧字符串和您插入的字符串组成的新字符串。它不会改变原来的字符串,你必须重新赋值给b或赋值给一个新的变量。

试试:

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