如何获得28个变量28个非重复随机值c#

时间:2015-12-17 15:43:10

标签: c# function variables

我试图制作一个座位表,而我正在进行的方式似乎并不起作用,我真的需要一些帮助来分配一个值(每个值将是我制作的小图表上的座位号)变量(学生姓名)。我一直存在的问题是我试图使用一个列表来存储我已经分配给一个学生的座位(数字)。然后,如果座位值已经在列表中,它应该返回以获取新值并重复检查过程以查看是否采用了新值等等。在python中它只是像

那样简单
def main():
    x = Random.randint(1,20)
    main()     <----this go back to type function is what i need to know in c#

下面是我在c#

中的代码
public void Button_Click(object sender, EventArgs e)
    {






        int a = getValue();
        int b = getValue();
        int c = getValue();
        int d = getValue();
        int ee = getValue();
        int f = getValue();
        int g = getValue();
        int h = getValue();
        int i = getValue();
        int ff = getValue();
        int gg = getValue();
        int hh = getValue();
        int ii = getValue();
        int j = getValue();
        int k = getValue();
        int l = getValue();
        int m = getValue();
        int n = getValue();
        int o = getValue();
        int p = getValue();
        int q = getValue();
        int r = getValue();
        int s = getValue();
        int t = getValue();
        int u = getValue();
        int v = getValue();
        int w = getValue();
        int x = getValue();
        int y = getValue();
        int z = getValue();
        int AA = getValue();
        int BB = getValue();


        Dictionary<string, int> studentNames = new Dictionary<string, int>();
        studentNames.Add("a", a);//1
        studentNames.Add("b", b);
        studentNames.Add("c", c);
        studentNames.Add("d", d);
        studentNames.Add("e", ee);
        studentNames.Add("f", ff);
        studentNames.Add("g", gg);
        studentNames.Add("h", hh);
        studentNames.Add("i", ii);//9
        studentNames.Add("j", j);
        studentNames.Add("k", k);
        studentNames.Add("l", l);
        studentNames.Add("m", m);
        studentNames.Add("n", n);
        studentNames.Add("o", o);
        studentNames.Add("p", p);
        studentNames.Add("q", q);
        studentNames.Add("r", r);
        studentNames.Add("s", s);
        studentNames.Add("t", t);//20
        studentNames.Add("u", u);
        studentNames.Add("v", v);
        studentNames.Add("w", w);
        studentNames.Add("x", x);
        studentNames.Add("y", y);
        studentNames.Add("z", z);
        studentNames.Add("AA", AA);
        studentNames.Add("BB", BB);//28
    }

    public int getValue()
    {
        List<int> usedNumbers = new List<int>();
        Random rnd = new Random();
        int tempValue = rnd.Next(0, 27);

        if (usedNumbers.Contains(tempValue))
        {

// Go back to getValue() to have the tempValue get a new value
        }
        else
        {
             usedNumbers.Add(tempValue);
             return tempValue;
        }
    }
}

0 个答案:

没有答案