gpt4 book ai didi

c# - 检查输入值的命令行参数

转载 作者:行者123 更新时间:2023-11-30 22:14:02 25 4
gpt4 key购买 nike

我正在使用命令行参数,如果条件用于检查输入值,但它看起来不太好,我可以将其更改为 switch,但我不知道如何更改它,我的代码是

if (args.Length > 0 && args.Length == 4)
{
string programName = args[0];
string file1= args[2];
string file2= args[3];

bool flag = false;
int num= 0;
bool isNum = Int32.TryParse(args[1].ToString(), out num);

if (!(programName.Equals("Army")))
{
Console.WriteLine("Error");
}

if (!Int32.TryParse(args[1].ToString(), out isNum ))
{
Console.WriteLine("value should be a number");
}

if (!File.Exists(file1))
{
Console.WriteLine("file 1 does not exist");
}
if (!File.Exists(file2))
{
Console.WriteLine("file 2 does not exist");
}

最佳答案

switch 语句在这里并不是真正需要的。当您有一个值并且需要根据该值从一系列可能的互斥步骤中进行选择时,这很有用。但这不是你在这里做的。这些不是一个 if/else if 语句链来关闭一个值,它们更像是保护子句。所有这些都需要运行以确定要向用户显示的所有输出。

您可以通过删除大括号来缩短代码:

if (!(programName.Equals("Army")))
Console.WriteLine("Error");
if (!Int32.TryParse(args[1].ToString(), out isNum ))
Console.WriteLine("value should be a number");
if (!File.Exists(file1))
Console.WriteLine("file 1 does not exist");
if (!File.Exists(file2))
Console.WriteLine("file 2 does not exist");

您还可以将这些代码行提取到它们自己的方法中,这将使 Main 方法更简洁一些。您甚至可以将条件检查本身提取到非常小的方法中,以使其更像散文以提高可读性。但是条件结构本身并不真的需要改变。

关于c# - 检查输入值的命令行参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18701007/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com