开发者

C++ input chaining in C#

开发者 https://www.devze.com 2022-12-22 19:52 出处:网络
I am trying to learn C# coming from C++. I am writing just some basic console stuff to get a feel for it and was wondering if it is possible to do simple chaining of inputs in C#. For example in C++:开

I am trying to learn C# coming from C++. I am writing just some basic console stuff to get a feel for it and was wondering if it is possible to do simple chaining of inputs in C#. For example in C++:开发者_StackOverflow

cout<<"Enter two numbers: ";
cin >> int1 >> int2;

You could then just input 3 5 and hit enter and the values will be fine. In C# however I have to split it up(as far as I can tell) like this:

Console.Write("Enter the first number: ";
int1 = (char)Console.Read();
Console.Writeline("");
Console.Write("Enter the second number: ";
int2 = (char)Console.Read();

Maybe I am just missing something.


you can read the entire line with Console.ReadLine and can get the two variables in a variety of ways split, basic test parsing, or Regex.


A short Ex

  Console.WriteLine("Enter two Numbers");
  int Num1 = 0 ,Num2 = 0 ;
  Match M = Regex.Match(Console.ReadLine(),@"(\d+) (\d+)");
  Num1 = int.Parse(M.Groups[1].Value);
  Num2 = int.Parse(M.Groups[2].Value);

  //Using Split 
  Console.WriteLine("Enter two Numbers");
  string[] Ints = (Console.ReadLine().Split(' '));
  Num1 = int.Parse(Ints[0]);
  Num2 = int.Parse(Ints[1]);


There's nothing that prevents input chaining from working in C#, you just won't get the nice operator syntax because C# lets you redefine fewer operators.

Writing an extension method to let you do:

Console.In.Read(out int1).Read(out int2);

is left as an exercise for the reader.

0

精彩评论

暂无评论...
验证码 换一张
取 消