首页 > 解决方案 > 转换后的字符串 ToCharArray 未返回所需的值

问题描述

这是我的整个代码:

using System;

namespace start
{
class Program
{
    static void Main(string[] args)
    {
        while (true)
        {
            try
            {
                string nevim = "";                          // prázdná proměnná pro zbytek
                Console.WriteLine("zadej číslo, které chceš převést do binární soustavy: ");

                ulong vstup = ulong.Parse(Console.ReadLine());  // uložíme vstup do proměnné
                while (vstup > 0)                           //pokud je vstup větší než 0
                {
                    ulong pocet = vstup % 2;                  // zjistí zbytek po dělení dvojkou
                    nevim = nevim + pocet;                  //   do proměnné přidá zbytek
                    vstup = vstup / 2;                      //   zadané číslo vydělí 2        


                }
                char[] array = nevim.ToCharArray();        
                Array.Reverse(array);                       //otočí výsledek
                Console.WriteLine(array);
                Console.WriteLine(array + "test");



                Console.ReadKey();
            }

            catch
            {
                Console.Clear();
                Console.WriteLine("nastala nějaká chyba TYY GEJI");
                Console.WriteLine("stiskni libovolné tlačítko pro pokračování");
                Console.ReadKey();
                Console.Clear();
            }
        }
    }
}
}

我尝试“To.CharArray 转换方法”来反转字符串,当我尝试让输出正常时,例如:

input = 123

输出:

1111011

但是当我尝试在输出中添加一些东西时:

Console.WriteLine(array + "test");

输出是:

System.Char[]test

我想要这个作为输出:

1111011 test

有任何想法吗?

标签: c#arrayschar

解决方案


您试图添加stringchar[]. 在这种情况下,.net 试图通过array.ToString()在后台调用将两个值转换为相同的类型。默认情况下,它返回类型名称。在您的情况下,它是System.Char[]. 要获得预期的结果,您应该从数组中创建字符串:

Console.WriteLine(new String(array) + "test");

或将“测试”转换为数组并连接数组。检查在 .NET 中合并两个数组以获取示例


推荐阅读