禁用数组中的字符串以防止重复

本文关键字:字符串 数组 | 更新日期: 2023-09-27 18:06:35

我有一个应用程序,其中我必须在textbox中插入与array中相同的stringstrings出现在一个标签中,对于每个答案,它都会指向数组中的一个随机单词/字符串。

我的问题是:有没有办法将deletedisable作为array中的单词/字符串,这样我就不会得到任何重复?

string[] arrProvincies = File.ReadAllLines(@"provincies.txt");
int counter = 0;
string Array = "";
string Array = arrProvincies[counter].ToString();
lblProvincie.Text = Array;
counter = rnd.Next(0, 12);

禁用数组中的字符串以防止重复

您可以使用队列:

Queue<string> arrProvincies = new Queue<string>(File.ReadAllLines(@"provincies.txt"));

并与lblProvincie.Text = arrProvincies.Dequeue(); 配合使用

因此,你将确保没有重复,因为你删除的条目,当你使用它。


如果你需要洗牌:

Queue<string> arrProvincies = new Queue<string>(File.ReadAllLines(@"provincies.txt").OrderBy(o => Guid.NewGuid()));
string[] arrProvincies = File.ReadAllLines(@"provincies.txt");
var randomProvincies = arrProvincies.Distinct().OrderBy(i => Guid.NewGuid());

randomProvincies将是随机排序的不同值(我不明白它说要在文本框中插入相同字符串的部分(。