【问题标题】:Add a character to the last position of a string将一个字符添加到字符串的最后一个位置
【发布时间】:2014-07-17 22:37:41
【问题描述】:

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

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

    }

问题是,数字的顺序是错误的。所以我制作了一个字符串并将数字添加到最后一个位置。但是当我执行代码时没有任何反应......

【问题讨论】:

    标签: c# string insert binary numbers


    【解决方案1】:

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

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

    等等

    完成后,用ToString()写出来

    Console.WriteLine(sb.ToString());
    

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

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

    【讨论】:

    • 谢谢你的回答,但我的问题还是一样。当我执行代码时,数字顺序错误。
    • 更新了答案,假设您要添加到字符串的开头。如果这不正确,请用您得到的输出以及您的期望更新您的问题。
    【解决方案2】:

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

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

    将 Convert.ToString 用于二进制格式

    Convert.ToString(a, 2)
    

    【讨论】:

      【解决方案3】:

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

          StringBilder b = new StringBuilder();
      
      
          b.Append("0");
          b.Append("1");
      

      阅读更多Here

      【讨论】:

      • 啊,我明白了。我犯了一个逻辑错误,它应该将最新的添加到第一个位置。谢谢!
      【解决方案4】:

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

      试试这样:

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

      编辑:更改了插入字符串的索引,因为您希望在开头使用最新值。

      【讨论】:

        猜你喜欢
        • 2020-04-13
        • 2015-06-18
        • 2020-06-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多