[英]C#: Split a string (or user input) into individual characters withOUT using an array?
好的,这就是我想要做的事情。 提示用户输入一个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数组选项? 好吧,因为它是一个非常具体的家庭作业,希望你完成它。 这是第一个让我久违的人。 任何见解?
它已经是一个数组(好吧,有点*)!
您可以使用字符串上的索引器访问每个单独的字符。 例如:
string str = "781-0432"; // To take input, you can use Console.ReadLine()
char firstChar = str[0];
char secondChar = str[1];
// etc
*从技术上讲, string
不是数组,但它有一个自定义索引器,可以像char[]
一样使用它。
public char ReadChar()
{
char r = ' ';
while (r < '0' || r > '9')
r = Console.ReadKey();
return r;
}
a = ReadChar();
b = ReadChar();
//...
将你的角色存储在稍后可以检索的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
并保留单个字符。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.