所以我想问一下,假设我在一行中输入2 + 5之类的输入,所以我想将它们分成3个不同的变量,如int a = 2,b = 3和char operator =' + '
P.S:试着调整我的简单计算器程序
答案 0 :(得分:2)
尝试使用split
方法
将字符串拆分为基于数组中字符的子字符串。
<强>语法:强>
public string[] Split(params char[] separator)
答案 1 :(得分:0)
您可以使用正则表达式来更可靠地获取每个组件(即,这支持任意长度的int数字):
class Program
{
static void Main(string[] args)
{
var input = "20+5";
var regex = new Regex(@"(\d+)(.)(\d+)");
if (regex.IsMatch(input))
{
var match = regex.Match(input);
var a = match.Groups[1].Value;
var op = match.Groups[2].Value;
var b = match.Groups[3].Value;
Console.WriteLine($"a: {a}");
Console.WriteLine($"operator: {op}");
Console.WriteLine($"b: {b}");
}
}
}
输出
a: 20
operator: +
b: 5
答案 2 :(得分:0)
试试这个:
string strResult = Console.ReadLine();
//On here, we are splitting your result if user type one line both numbers with "+" symbol. After splitting,
// we are converting them to integer then storing the result to array of integer.
int[] intArray = strResult.Split('+').Select(x => int.Parse(x)).ToArray();
现在,您现在可以通过索引
访问您的号码了 intArray[0]
//or
intArray[1]
答案 3 :(得分:0)
所以我想问一下,假设我输入的是2 + 5之类的输入 line所以我想把它们分成3个不同的变量,比如int a = 2, b = 3且char运算符='+'
您可以使用params数组将任意数量的参数传递给方法,然后您可以将它们拆分。
示例:强>
public int Result(params char[] input){
// split the input
// any necessary parsing/converting etc.
// do some calculation
// return the value
}