字符串到字符串。困惑

时间:2014-12-22 04:58:26

标签: c# char

我目前正在学习C#。

对转换有点困惑

特别是将字符转换为字符串;

代码无效。

这一行:Console.WriteLine(Char.ToString(i));

是否可以将字符转换为字符串? 我只是用字符,因为它是一个字母选择。如果我使用字符串,对我来说很容易。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace SwitchStatement.Example
{
class SwitchSt
{
    static void Main()
    {
        char i;
        Console.WriteLine("Who is the current President of the United States?");
        Console.WriteLine("\nA.) Barack Obama\n" 
                       +  "B.) George Bush\n"
                       +  "C.) Bill Gates\n"
                       );

        Console.Write("Type the letter of your answer : ");
        Console.ReadLine(Char.ToString(i));
        switch(i)
        {
            case 'a' :
                     break;
        }

        Console.ReadKey();
    }
}
}

2 个答案:

答案 0 :(得分:2)

您可以简单地使用预定义的方法ToString(),如下面的示例所示;

char ch = 'a';   

Console.WriteLine(ch.ToString());       // Output: "a"

读取输入字符

Console.Write("Enter a alphabet: ");
char a = (char)Console.Read();
  Console.Write("Enter your age: ");
  age = Convert.ToInt32(Console.ReadLine());
 //Show the details you typed
        Console.WriteLine("your letter is {0}.", a.ToString());
        Console.WriteLine("Age is {0}.", age);

答案 1 :(得分:0)

问题是在显示之前你需要为char分配或提示用户。您将收到错误:

  

使用未分配的局部变量'i'

除了静态Char.ToString(ch)之外,使用变量实例i将char转换为String更为常见。

Console.WriteLine(i.ToString());

但是,还有一个overload of WriteLine直接接受char:

Console.WriteLine(i);

哪个IMO更可取,因为它围绕着char ceremony

修改

使用Console.Read*方法之一来读取char。这是Console.Read。请注意,当Read返回int时,您需要转换为char

Console.Write("Type the letter of your answer : ");
char i = (char)Console.Read();
Console.WriteLine(i);

最后一点 - 很多人会发现使用i来表示令人惊讶的字符,因为i,j + k通常用于整数,尤其是计数器。可能会将char i重命名为char ch或类似名称?