c#里int a = int.Parse(Console.ReadLine()); int b = int.Parse(Console.ReadLine()); 咋合并写成一句?

 我来答
空号一号
推荐于2016-09-28 · TA获得超过3845个赞
知道大有可为答主
回答量:1495
采纳率:0%
帮助的人:1610万
展开全部
这个不能合并吧?要从控制台读2行内容,没法用1条语句完成。
至少我觉得是这样……
追问
我是想变成像c语言那样啊,一次让输入2个数。
scanf("%d%d",&a,&b);
追答

C#里没有scanf。如果一定要在同一行读入2个数,我只能想到用正则表达式。代码:

using System.Text.RegularExpressions;
 
Regex regex = new Regex(@"(\d+)\s+(\d+)");
Match match = regex.Match(Console.ReadLine());
int a, b;
if (match.Success)
{
    int.TryParse(match.Groups[1].Value, out a);
    int.TryParse(match.Groups[2].Value, out b);
}

 

亲测可用。这段代码用一个正则表达式试图匹配输入内容。正则表达式的含义是:至少一位数字,然后至少一个空格,然后至少一位数字。其中打小括号的部分是组,这里有2个组,所以可以在匹配成功后用match.Groups来提取组里的内容,再转换成int。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式