c# scanf能自定义格式吗

avatar
作者
筋斗云
阅读量:0

在C#中,Console.ReadLine()方法通常用于从控制台读取用户输入的一行文本。然而,Console.ReadLine()并不直接支持类似C语言中scanf的自定义格式化输入功能。

如果你需要从控制台读取特定格式的输入,你可能需要使用正则表达式或手动解析输入字符串。下面是一个简单的示例,展示了如何使用正则表达式来读取一个包含多个整数的行,并按照指定的顺序存储这些整数:

using System; using System.Collections.Generic; using System.Text.RegularExpressions;  class Program {     static void Main()     {         Console.WriteLine("请输入一组整数,用空格分隔:");         string input = Console.ReadLine();          // 使用正则表达式匹配所有整数         Regex regex = new Regex(@"-?\d+");         MatchCollection matches = regex.Matches(input);          // 创建一个列表来存储整数         List<int> numbers = new List<int>();          // 遍历所有匹配项,并将它们转换为整数并添加到列表中         foreach (Match match in matches)         {             numbers.Add(int.Parse(match.Value));         }          // 输出读取到的整数         Console.WriteLine("读取到的整数:");         foreach (int number in numbers)         {             Console.Write(number + " ");         }     } } 

在这个示例中,我们首先提示用户输入一组用空格分隔的整数。然后,我们使用正则表达式-?\d+来匹配所有整数(包括负数)。接下来,我们遍历所有匹配项,并将它们转换为整数并添加到一个列表中。最后,我们输出读取到的整数。

请注意,这个示例仅用于演示目的,并且假设用户输入的是有效的整数。在实际应用中,你可能需要添加额外的错误处理和验证逻辑来确保程序的健壮性。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!