好的,这就是我想要做的事情。提示用户输入一个8位数字(7个数字加一个连字符
781-0432
我希望它将它分开并将其存储到8个单独的char变量中,而不使用数组:
a = 7 b = 8 c = 1 ... h = 2
我一直在尝试使用Console.Read()方法:
a = Console.Read(); b = Console.Read(); 等
问题是,我不知道如何键入Console.Read()以便在此之后停止阅读。如果模块包含在循环中,则在下次调用时似乎不会重置。
我知道你在想什么。你为什么不使用数组或拆分到char数组选项?好吧,因为它是一个非常具体的家庭作业,希望你完成它。这是第一个让我久违的人。有什么见解吗?
答案 0 :(得分:3)
它已经是一个数组(好吧,有点*)!
您可以使用字符串上的索引器访问每个单独的字符。例如:
string str = "781-0432"; // To take input, you can use Console.ReadLine()
char firstChar = str[0];
char secondChar = str[1];
// etc
*从技术上讲,string
不是数组,但它有一个自定义索引器,可以像char[]
一样使用。
答案 1 :(得分:1)
public char ReadChar()
{
char r = ' ';
while (r < '0' || r > '9')
r = Console.ReadKey();
return r;
}
a = ReadChar();
b = ReadChar();
//...
答案 2 :(得分:0)
如何将您的角色存储在稍后可以检索的POCO中?
public void SomeEvent()
{
string PhoneNumber = "781-0432"
Alphabet alphabet = SplitNumber(PhoneNumber);
// Pass the alphabet object around and maintain the individual characters!
}
public Alphabet SplitNumber(string number)
{
Alphabet alphabet = new Alphabet();
alphabet.a = number[0];
alphabet.b = number[1];
alphabet.c = number[2];
alphabet.d = number[3];
alphabet.e = number[4];
alphabet.f = number[5];
alphabet.g = number[6];
alphabet.h = number[7];
return alphabet;
}
class Alphabet
{
public string a;
public string b;
public string c;
public string d;
public string e;
public string f;
public string g;
public string h;
}
现在,您可以在应用中移动Alphabet
并维护单个字符。