//输入一个整数,将各位数字反转输出。
            Console.WriteLine("Please input an integer:");
            string str = Console.ReadLine();
            int num = 0;
            bool IsValid = int.TryParse(str, out num);
            if (!IsValid) Console.WriteLine("The number is not valid.Please try again.");
            else
            {
                if (num > 0)
                {
                    char[] ch = str.ToCharArray();
                    Array.Reverse(ch);
                    Console.WriteLine(ch);
                }
                else
                {
                    string strNum = str.Substring(1);
                    char[] ch = strNum.ToCharArray();
                    Array.Reverse(ch);
                    Console.Write("-");
                    Console.WriteLine(ch);                       
                }
            }关于这段代码,只是显示出结果。有没有可能把正确结果先保存起来,再输出?也就是说关于字符数组和字符串之间的转换,希望大家帮助,谢谢!

解决方案 »

  1.   

    将字符数组转换为字符串?构造一个string:
    str1=new string(strNum);
      

  2.   

                char   [] mychar = new char [] { 'f', 'a', 'g' };
                string str = new string(mychar);
    或这样
                //for (int i = 0; i < mychar.Length; i++)
                //{
                //    str = str + mychar[i].ToString();
                //}不太懂楼主意思
      

  3.   

    多谢大家回帖!string str=new string(ch);正是我想要的:)代码改为:if...//输入的是正数
    else //输入的是负数
    {
                        string strNum = str.Substring(1);
                        char[] ch = strNum.ToCharArray();
                        Array.Reverse(ch);
                        //todo:结果先保存,在输出
                           string strtemp = new string(ch);
                        string[] strings={"-",strtemp};
                        string result= string.Join("", strings);
                        Console.WriteLine(result);
    }
    如果是负数,我把输入的字符数组负号和数字部分分开,数字反转后存入一个字符串,再把负号与之合并用result保存结果后输出。再次感谢回帖!