从一行用户输入中读取多个变量/命令



问题:如何从一行用户输入中读取多个命令/变量/修饰符?

就像任何 CLI (如命令提示符)一样,用户输入一行并从中读取和分配变量 + 修饰符。

例如转换程序命令:

32 km to cm

然后它写道:

numToConvert = (32)

然后

"km to cm"

点转化率1

 conversionRate1 = (0.621371192)

将 32 乘以转换率 (0.621371192)

打印结果。

第二个例子:

shutdown -h

shutdown /?

关机被读取为命令

-h 修改它或/? 修改它

命令行上给出的任何内容,在程序名称之后,都会被拆分为空格,并传递给 args 数组。

所以,给定:

class Program
{
    static void Main(string[] args)
    {
        foreach (var a in args)
        {
            Console.WriteLine(a);
        }
    }
}

运行"C:>程序.exe将 foo 转换为柱线"将产生以下行

convert
foo
to
bar

为了解析语义,您需要扫描 args 数组并查找修饰符。

如果你有严格的语法,你可以简单地查看预期的位置

var numToConvert = Convert.toint32(args[4])

如果你允许灵活的语法,它会更复杂;你需要开发一系列解析规则来帮助你理解输入。

此外,您可能希望查看专为帮助分析和管理命令行参数而设计的库。命令行解析器库是一个不错的选择。

相关内容

  • 没有找到相关文章

最新更新