从另一个If语句访问数据?

时间:2014-02-12 21:40:25

标签: c#

我正在构建一个c#hangman游戏,我正在寻找从if语句到另一个语句的一些信息。我对编程很陌生,所以如果这是一种愚蠢的方式,我很抱歉,如果有更好的方法,我真的很感激输入。

无论如何,这是代码:

if (menyalternativ == "1")
        {


            //Här får spelare lägga till fem egna ord utöver det hårdkodade ordet "projektarbete"
            Console.WriteLine("\n\tLägg till 5 ord");

            Random rng = new Random();
            string[] ordlista = new string[5];
            ordlista[0] = Console.ReadLine();
            ordlista[1] = Console.ReadLine();
            ordlista[2] = Console.ReadLine();
            ordlista[3] = Console.ReadLine();
            ordlista[4] = Console.ReadLine();


            int index = rng.Next(5);

我想将ordlista [index]数据用于以后的语句中:

else if (menyalternativ == "3")            
        {
            string hemligtord = "projektarbete"; //This I would like to be the random word from earlier.
            char[] gissatord = new char[hemligtord.Length];
            char gissa;
            bool rättord = false;
            Kontroll kontroll = new Kontroll();
            for (int i = 0; i < gissatord.Length; i++)
            {
                gissatord[i] = '-';
            }

非常感谢任何和所有帮助!

2 个答案:

答案 0 :(得分:1)

ordlista数组是声明它的块的本地数组(即声明点之后的同一花括号{...}内的语句)。

如果需要在另一个代码块中使用它,则必须在两个代码块都可见的范围内声明它。但是,在这种情况下,您可能会遇到逻辑错误,因为在处理else if块之后永远不会输入if,除非整个if链 - {{1} } s被包含在一个循环中。

如果在else if语句之外有一个循环,并且您希望使用if在迭代之间传递数据,则需要在循环之外声明变量。否则,它将在每次迭代中重新初始化,从而失去了首先使用它的目的。

答案 1 :(得分:0)

使变量范围成为全局。