我有一个拆分字符串,
string s = Console.ReadLine();
string[] values = s.Split(",".ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
s 应该收到这样的输入:
字符串文字、数值、数值、数值或字符串文字
我意识到所有这些输入都作为字符串读取,但我正在尝试验证字符串中的数字(检查 > 0),并将字符串中的每个值分配给一个变量。解决此问题的最佳方法是什么?
我有一个拆分字符串,
string s = Console.ReadLine();
string[] values = s.Split(",".ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
s 应该收到这样的输入:
字符串文字、数值、数值、数值或字符串文字
我意识到所有这些输入都作为字符串读取,但我正在尝试验证字符串中的数字(检查 > 0),并将字符串中的每个值分配给一个变量。解决此问题的最佳方法是什么?
您正在寻找特定的模式。我建议使用正则表达式,然后获取数字组 - 并进行 > 0 验证检查。
string s = Console.ReadLine();
string[] values = s.Split(",".ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
string stringValue0 = values[0];
int numericValue1 = int.Parse(value[1]); // Assuming the value is an valid interger.
int numericValue2 = int.Parse(value[2]); // Assuming the value is an valid interger.
int numericvalue3;
string stringValue3;
if (!int.TryParse(values[3], out numericValue3) // Trying to convert the text to an interger. If it fails, assign it to the stringValue3.
stringValue3 = values[3];
您始终可以使用int.TryParse
来验证文本是否包含数字。