我如何才能退出if并返回?

问题描述 投票:-2回答:1

运行应用程序漫游器时出现问题。我不能离开if语句。我认为这是因为我没有做过回报,但是我不知道如何在这样的函数中构造它,有人可以帮助我吗?

     private async Task OpcionCostoCUV(IDialogContext context, IAwaitable<object> result)
    {
        var message = await result as Activity;

        if ((message.Text.Equals("1.- CUV Residencial")) || (message.Text.Equals("1.- cuv residencial")) || (message.Text.Equals("1.- CUV RESIDENCIAL")) || (message.Text.Equals("1"))
            || (message.Text.Equals("1.-")) || (message.Text.Equals("CUV residencial")) || (message.Text.Equals("cuv residencial")) || (message.Text.Equals("CUV RESIDENCIAL"))
            || (message.Text.Equals("2.- CUV de Interes Social")) || (message.Text.Equals("2.- cuv de interes Social")) || (message.Text.Equals("2.- CUV DE INTERES SOCIAL")) || (message.Text.Equals("2"))
            || (message.Text.Equals("2.-")) || (message.Text.Equals("CUV de Interes Social")) || (message.Text.Equals("cuv de interes Social")) || (message.Text.Equals("CUV DE INTERES SOCIAL"))
            || (message.Text.Equals("3.- CUV Media")) || (message.Text.Equals("3.- cuv media")) || (message.Text.Equals("3.- CUV MEDIA")) || (message.Text.Equals("3.-")) || (message.Text.Equals("3"))
            || (message.Text.Equals("CUV Media")) || (message.Text.Equals("cuv media")) || (message.Text.Equals("CUV MEDIA")))
        {
            if ((message.Text.Equals("1.- CUV Residencial")) || (message.Text.Equals("1.- cuv residencial")) || (message.Text.Equals("1.- CUV RESIDENCIAL")) || (message.Text.Equals("1"))
            || (message.Text.Equals("1.-")) || (message.Text.Equals("CUV residencial")) || (message.Text.Equals("cuv residencial")) || (message.Text.Equals("CUV RESIDENCIAL")))
            {
                await context.PostAsync("1");
            }
            else if ((message.Text.Equals("2.- CUV de Interes Social")) || (message.Text.Equals("2.- cuv de interes Social")) || (message.Text.Equals("2.- CUV DE INTERES SOCIAL")) || (message.Text.Equals("2"))
            || (message.Text.Equals("2.-")) || (message.Text.Equals("CUV de Interes Social")) || (message.Text.Equals("cuv de interes Social")) || (message.Text.Equals("CUV DE INTERES SOCIAL")))
            {
                await context.PostAsync("2");
            }
            else if ((message.Text.Equals("3.- CUV Media")) || (message.Text.Equals("3.- cuv media")) || (message.Text.Equals("3.- CUV MEDIA")) || (message.Text.Equals("3.-")) || (message.Text.Equals("3"))
            || (message.Text.Equals("CUV Media")) || (message.Text.Equals("cuv media")) || (message.Text.Equals("CUV MEDIA")))
            {
                await context.PostAsync("3");
            }

        }
        else
        {
            await context.PostAsync("Opcion no Valida");
            await context.PostAsync("Por favor, selecciona el numero de la opcion que deseas consultar.");
            await context.PostAsync(opcion1CUV + "\n" + "\n" + opcion2CUV + "\n" + "\n" + opcion3CUV);
        }


    }
c# botframework bots luis
1个回答
1
投票

您仅需if一级即可实现逻辑。

if
else if 
else if 
else 

也可以利用字符串的.ToLower()

一旦进行了这些更改,可能更容易调试出问题所在。


步骤2

string t = message.Text.ToLower();
if (t.StartsWith("1") || t.Contains("CUV Residencial".ToLower()))
{
    await context.PostAsync("1");
}
else if (t.StartsWith("2") || t.Contains("CUV de Interes Social".ToLower()))
{
    await context.PostAsync("2");
}
else if (t.StartsWith("3") || t.Contains("CUV Media".ToLower()))
{
    await context.PostAsync("3");
}
else
{
    await context.PostAsync("Opcion no Valida");
    (...)
}

步骤1

string t = message.Text.ToLower();

        if ((t == "1.- CUV Residencial".ToLower()) || (t == "1".ToLower())
        || (t == "1.-".ToLower()) || (t == "CUV residencial".ToLower()))
        {
            await context.PostAsync("1");
        }
        else if ((t == "2.- CUV de Interes Social".ToLower()) || (t == "2".ToLower())
        || (t == "2.-".ToLower()) || (t == "CUV de Interes Social".ToLower()))
        {
            await context.PostAsync("2");
        }
        else if ((t == "3.- CUV Media".ToLower()) || (t == "3.-".ToLower()) || (t == "3".ToLower())
        || (t == "CUV Media".ToLower()))
        {
            await context.PostAsync("3");
        }
        else
        {
            await context.PostAsync("Opcion no Valida");
            (...)
        }
© www.soinside.com 2019 - 2024. All rights reserved.