【发布时间】:2020-06-04 17:21:12
【问题描述】:
我正在做一个控制台应用程序网络抓取工具,基本上使用 Net Core 3.0,当我想使用代理或使用我自己的连接时,我的方法 IF 语句出现错误。请看下文。
基本上如果:
bool useProxy = false;
proxyFunction(proxy ? null : File.ReadAllLines(//HERE IS PATH TO FILE))
因此,如果布尔“useProxy”为假,它会返回 null,这正是我想要的,但它仍然在“File.ReadAllLines”上继续,并且由于布尔“useProxy”为假,它几乎会返回一个参数异常告诉它不能为空(File.ReadAllLines),这不应该在一开始就发生,它不应该再从那里继续,因为我的操作员“?”在“proxyFunction”上已经返回空值,因为布尔“useProxy”是假的。
请忽略“proxyFunction”,因为它只是 HttpClient 上我的代理类中的一个函数,如果 bool “useProxy”为空,则返回,如果不是,则运行“File.ReadAllLines”并返回其值。
感谢您的宝贵时间! :)
【问题讨论】:
-
我想你可能把三元运算符倒过来了?如果
proxy为真则返回null,如果为假则执行File.ReadAllLines。 -
糟糕。我的错,我的意思是,布尔“代理”是如果我希望它在没有代理的情况下工作。立即编辑。
-
你的代码中
proxy和useProxy有什么区别?File.ReadAllLines将仅在您当前的实现中proxy为false时运行。