Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/300.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
c#中的If和for循环逻辑,If错误如何跳过下一步_C#_If Statement_For Loop - Fatal编程技术网

c#中的If和for循环逻辑,If错误如何跳过下一步

c#中的If和for循环逻辑,If错误如何跳过下一步,c#,if-statement,for-loop,C#,If Statement,For Loop,我有两个以上的字符串,一个是email,一个是group,如果两者都有效,那么我应该执行push to server()。我比较字符串以确定它是电子邮件还是字符串,这是在for()循环之前完成的 在这个逻辑中,我只想在两个条件都成功时运行SendToPush服务器代码,输入将是电子邮件和组。如果电子邮件正确,并且只有组正确,则应执行发送到推送服务器。如果有人错了,就不应该执行。我只能运行发送到推送服务器,但我不能为电子邮件和组执行一次,这就是为什么我在执行电子邮件和组后都有它。如果在任何一个组或


我有两个以上的字符串,一个是email,一个是group,如果两者都有效,那么我应该执行push to server()。我比较字符串以确定它是电子邮件还是字符串,这是在for()循环之前完成的

在这个逻辑中,我只想在两个条件都成功时运行SendToPush服务器代码,输入将是电子邮件和组。如果电子邮件正确,并且只有组正确,则应执行发送到推送服务器。如果有人错了,就不应该执行。我只能运行发送到推送服务器,但我不能为电子邮件和组执行一次,这就是为什么我在执行电子邮件和组后都有它。如果在任何一个组或电子邮件中有任何错误,那么我不应该执行发送到推送服务器,我必须跳过它。我该怎么做

forloop
{
    if ((condition1) && (condition2))
    {
       //sendtoserver
    }
}

这是speudo代码,因为坦率地说,我在这里猜测,我不完全理解你的问题。。。我想就是这样了……

你有几个选择:

for()
{
    if(!email)
    {
        Alert();
    }
    else
    {
        EnterUserDetailsInTable();
    }

    if(!group)
    {
        Alert();
    }
    else
    {
        EnterGroupDetailsInTable();
    }

    if(email && group)
    {
        PushToServer();
    }
}
for(var something in stuff)
{
    if(something.condition)
    {
        // send to server
    }
}
反转条件以避免嵌套:

for(var something in stuff)
{
    if(!something.condition) continue;

    // send to server
}
使用LINQ提前限制结果:

for(var something in stuff.Where(s => s.condition))
{
    // send to server
}

我不确定我是否理解正确,但如果您询问如何仅在两个“正确”都已完成的情况下执行最后一部分:添加一个

    bool flagEmail = false;
    bool flagGroup = false;
在你的代码之前。 在每次“输入…”之后添加:

flag...=true;
最后:

    if(flagEmail && flagGroup) ...//Send to push server.

你的链接断了。考虑把代码粘贴为文本。你不能把图像重写为实际的文本吗?@标记我把你的图像传输到一个不同的主机并嵌入它。我有超过2个字符串,一个是电子邮件,一个是组,如果两者都有效,那么我应该执行推到Server()。我比较字符串以确定它是电子邮件还是字符串,这是在for()循环之前完成的。您发布的伪代码看起来足够了。你是在寻找C#语法等价物还是其他什么?我恐怕不太清楚你需要什么样的答案。+1,但我真的不明白。。。您是否使用for if结构只是为了获取两个参数??(这是为OP)@gbianchi-我同意,我只是从原始代码复制了它。我想在for循环完全结束后检查if(flagEmail&&flagGroup)。如果我在If循环内更新邮件,我将无法在for外部访问它loop@Mark不对。这就是为什么我要在你的代码之前声明bool。然后,您将能够在循环外部访问它们。