首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >没有重复的随机名字选择器?

没有重复的随机名字选择器?
EN

Stack Overflow用户
提问于 2018-07-31 07:29:30
回答 1查看 241关注 0票数 0

我正在从指定的列表中创建一个简单的名称选择器。我应该如何修改它,使它不重复已经“挑选”的名字?

代码语言:javascript
复制
static void Main(string[] args)
{

    string[] Names = { "Erik", "Levente", "Noel", "Áron", "Krisztián", "Kristóf", "Bence", "Roland", "Máté", "László", "Bálint" ,
    "Regina", "Brigitta", "Gréta", "Hédi", "Hanna", "Boglárka", "Jázmin", "Réka", "Alexandra", "Rebeka", "Lili", "Luca", "Zsófi"};

    Random rnd2 = new Random();
    Console.WriteLine("Az ID : '1' eszköz nyertese: " + Names[rnd2.Next(0, Names.Length - 1)]);

    Random rnd3 = new Random();
    Console.WriteLine("Az ID : '2' eszköz nyertese: " + Names[rnd2.Next(0, Names.Length - 1)]);

    Random rnd4 = new Random();
    Console.WriteLine("Az ID : '3' eszköz nyertese: " + Names[rnd2.Next(0, Names.Length - 1)]);

    Random rnd5 = new Random();
    Console.WriteLine("Az ID : '4' eszköz nyertese: " + Names[rnd2.Next(0, Names.Length - 1)]);

    Random rnd6 = new Random();
    Console.WriteLine("Az ID : '5' eszköz nyertese: " + Names[rnd2.Next(0, Names.Length - 1)]);

    Random rnd7 = new Random();
    Console.WriteLine("Az ID : '6' eszköz nyertese: " + Names[rnd2.Next(0, Names.Length - 1)]);


    Console.ReadKey(true);
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-07-31 07:33:54

例如,可以通过存储已经在List<string>中使用的内容来确保不存在重复项:

代码语言:javascript
复制
string[] names = new string[] { "bob", "james", "tim", "amanda", "lisa" }
List<string> alreadyUsed = new List<string>();
Random r = new Random();
while (alreadyUsed.Count < names.Length) {
    int index = r.Next(0, names.Length);
    if (!alreadyUsed.Contains(names[index])) {
        alreadyUsed.Add(names[index]);
        Console.WriteLine($"{names[index]} was added.");
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51607746

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档