输入必须等于 5 个不同的字符串值之一

用户输入必须等于 5 个不同字符串之一,否则用户必须再次输入,直到输入等于 5 个字符串之一。


我写了一些代码,如果第一个输入的输入等于 5 个字符串中的一个,它就会按照应有的方式工作,如果不是,程序就会陷入无限循环。


novaDrzava.PrevladujocaVera = Console.ReadLine();


var vera = novaDrzava.PrevladujocaVera;

var prvacrkaVera = vera.Substring(0, 1);

var ostaloVera = vera.Substring(1, vera.Length - 1);


prvacrkaVera = prvacrkaVera.ToUpper();

ostaloVera = ostaloVera.ToLower();


vera = prvacrkaVera + ostaloVera;



while (true)

{

    if(vera == "Krščanstvo")

    {

        break;

    }


    if (vera == "Krscanstvo")

    {

        break;

    }


    if (vera == "Hinduizem")

    {

        break;

    }


    if (vera == "Islam")

    {

        break;

    }

    if (vera == "Budizem")

    {

        break;

    }


    Console.WriteLine("Vnesite ustrezno vero");



    vera = Console.ReadLine();

    vera = prvacrkaVera + ostaloVera;

}


蝴蝶不菲
浏览 98回答 2
2回答

繁星淼淼

我无法完全阅读您的代码,因为标识符不是英文的。但是,鉴于您的其余问题,我认为这可能是您想要的:var words = new List<string>{&nbsp; &nbsp; "Krščanstvo",&nbsp; &nbsp; "Krscanstvo",&nbsp; &nbsp; "Hinduizem",&nbsp; &nbsp; "Islam",&nbsp; &nbsp; "Budizem"};while (true){&nbsp; &nbsp; var input = Console.ReadLine();&nbsp; &nbsp; if (words.Contains(input, StringComparer.InvariantCultureIgnoreCase))&nbsp; &nbsp; &nbsp; &nbsp; break;&nbsp; &nbsp; Console.WriteLine("Invalid selection. Please try again");}

四季花海

您忘记在循环中重新分配 和 的prvacrkaVera值ostaloVerawhile (true){&nbsp; &nbsp; if(vera == "Krščanstvo")&nbsp; &nbsp; {&nbsp; &nbsp; &nbsp; &nbsp; break;&nbsp; &nbsp; }&nbsp; &nbsp; if (vera == "Krscanstvo")&nbsp; &nbsp; {&nbsp; &nbsp; &nbsp; &nbsp; break;&nbsp; &nbsp; }&nbsp; &nbsp; if (vera == "Hinduizem")&nbsp; &nbsp; {&nbsp; &nbsp; &nbsp; &nbsp; break;&nbsp; &nbsp; }&nbsp; &nbsp; if (vera == "Islam")&nbsp; &nbsp; {&nbsp; &nbsp; &nbsp; &nbsp; break;&nbsp; &nbsp; }&nbsp; &nbsp; if (vera == "Budizem")&nbsp; &nbsp; {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; break;&nbsp; &nbsp; }&nbsp; &nbsp; Console.WriteLine("Vnesite ustrezno vero");&nbsp; &nbsp; vera = Console.ReadLine();&nbsp; &nbsp; prvacrkaVera = vera.Substring(0, 1);&nbsp; &nbsp; ostaloVera = vera.Substring(1, vera.Length - 1);&nbsp; &nbsp; prvacrkaVera = prvacrkaVera.ToUpper();&nbsp; &nbsp; ostaloVera = ostaloVera.ToLower();&nbsp; &nbsp; vera = prvacrkaVera + ostaloVera;}
打开App,查看更多内容
随时随地看视频慕课网APP