如何在一行中输入并分别将它们存储在不同的变量中

时间:2017-02-25 14:06:27

标签: c#

所以我想问一下,假设我在一行中输入2 + 5之类的输入,所以我想将它们分成3个不同的变量,如int a = 2,b = 3和char operator =' + '

P.S:试着调整我的简单计算器程序

4 个答案:

答案 0 :(得分:2)

尝试使用split方法

  

将字符串拆分为基于数组中字符的子字符串。

<强>语法:

public string[] Split(params char[] separator)

See more here

答案 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
}