我目前正在学习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();
}
}
}
答案 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
或类似名称?