我的代码没有引发任何错误。我使用了NDesk选项集并添加了2个字符串参数。我可以看到它在args中提取了正确的名称。但是,当我使用parse(args)时,它不会抛出错误。所以我假设它正在工作。
我正在尝试检查p(args)是对还是假。但是我不能对List<string>
使用bool表达式。
任何帮助我如何做到这一点的人。如果parse具有正确的参数,我想执行函数。
我的代码就是这样
private static Regex fileNamePattern = new Regex(@"^[A-Z0-9]{8}-[A-Z0-9]{4}-[A-Z0-9]{4}-[A-Z0-9]{4}-[A-Z0-9]{12}[.]pdf$", RegexOptions.Compiled | RegexOptions.IgnoreCase);
//missing method name
{
string inputFile;
string outputFile;
var p = new OptionSet() {
{"i"," pdf file",v=>inputFile=v},{"o","index file with kws",v=>outputFile=v},
};
Console.WriteLine($"args length: {args.Length}");
Console.WriteLine($"args 0: {args[0]}");
Console.WriteLine($"args 1: {args[1]}");
p.Parse(args); //I would like to use this if(parse(args))
{
}
//
}
private static void UpdateImportIndexFile(string inputFile, string outputFile)
{
using (var dip = File.CreateText(outputFile))
{
var match = fileNamePattern.Match(Path.GetFileName(MainFilePath));
if (match.Success)
{
//create text file (outputfile);
}
}
}
答案 0 :(得分:2)
由于p
是类的实例,并且parse
方法不支持返回模拟,在某种意义上,TryParse
的功能将您的解析包装在{{1 }}阻止
try