为每个变量分配随机字母

Mat*_*nis 0 c#

如何循环变量并为每个变量分配一个随机字母?

无需做:

var1 = RandomLetter();
var2 = RandomLetter();
var3 = RandomLetter();
var4 = RandomLetter();
var5 = RandomLetter();
Run Code Online (Sandbox Code Playgroud)

这将产生所有具有相同的字母:

var1 = var2 = var3 = RandomLetter();
Run Code Online (Sandbox Code Playgroud)

我正在寻找缩短过程的方法,我需要对50多个变量进行此操作.

起初我虽然是一个foreach循环,但它们是null并且不会从集合中开始循环.

// Variables
public static char var1, var2, var3, var4, var5;


// Generate Random Letter
public static Random random = new Random();
public static char RandomLetter()
{
    const string text = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
    int index = random.Next(text.Length);
    return text[index];
}
Run Code Online (Sandbox Code Playgroud)

D S*_*ley 5

不要使用单独的变量,而是使用集合:

List<char> letters = 
    Enumerable.Range(1,50)
              .Select(i => RandomLetter())
              .ToList();
Run Code Online (Sandbox Code Playgroud)

  • @MongZhu这里没有魔法 - 没有办法创建动态命名的局部变量. (2认同)