【发布时间】:2020-03-20 06:57:15
【问题描述】:
我想检查是否有任何变量为空或 null,换句话说,我想检查是否发送了所有参数。 我有这段代码,但它不起作用。
[HttpGet]
[Route("{regid}/{year}")]
public HttpResponseMessage Get(string regid, int? year, string un, string ps)
{
var isRegIDNumeric = int.TryParse(regid, out _);
if (!isRegIDNumeric || year == null || (String.IsNullOrEmpty(un)) || (String.IsNullOrEmpty(ps)))
{
...
}
如果我这样调用,缺少一个参数,IF 不起作用
localhost/test/?regid=001&year=2019&un=ws.test
我收到了这条消息:
<Error>
<Message>No HTTP resource was found that matches the request URI
'localhost/test/?regid=001&year=2019&un=ws.test'.
</Message>
<MessageDetail>No action was found on the controller 'test' that matches
the request.
</MessageDetail>
</Error>
如果我使用所有参数调用一切正常,则执行整个过程。
localhost/test/?regid=001&year=2019&un=ws.test&ps=test
当我只有 2 个变量时...
[HttpGet]
[Route("{regid}/{year}")]
public HttpResponseMessage Get(string regid, int? year)
{
var isRegIDNumeric = int.TryParse(regid, out _);
if (!isRegIDNumeric || year == null)
{
...
}
这样调用,缺少一个参数...
localhost/test/?regid=001
一切正常,IF定期执行。
如果其中任何一个为空或为空,如何使用所有 4 个变量制作函数式 IF?
【问题讨论】:
-
您告诉代码不起作用,但您没有告诉输入(失败的情况)和这种情况下的预期输出!代码看起来是正确的,所以也许你的数据不是你想象的那样!你调试了吗?
-
如果我省略了任何参数,则应该执行 IF 代码。如果我省略 regno 或 year 但如果我省略 un 或 ps IF 代码未执行,现在可以工作
-
您能否给出您认为应该导致执行 IF 语句的 un 和 ps 的具体值,但事实并非如此。代码看起来应该可以工作。
-
所写的问题确实包含我们为您提供帮助所需的信息。问题可能不在显示的代码中。您需要向我们展示您是如何调用该函数的。
-
我添加了更多示例。我想检查是否发送了所有参数。
标签: c# if-statement