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

时间:2016-09-12 12:55:07

标签: c# arrays

我有这个应用程序,我必须在string中插入与textbox中的array相同的stringsdelete来自一个标签,对于每个答案,它将转到数组中的随机字/字符串。

我的问题是:disable中的arraystring[] arrProvincies = File.ReadAllLines(@"provincies.txt"); int counter = 0; string Array = ""; string Array = arrProvincies[counter].ToString(); lblProvincie.Text = Array; counter = rnd.Next(0, 12); 单词/字符串是否有任何方法,所以我不会得到任何副本?

    VideoCapture capture;
    Mat frame;
    Bitmap image;


public Form1()
{
    InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)
{
    if (button1.Text.Equals("Start"))
    {
        frame = new Mat();
        capture = new VideoCapture();
        capture.Open(2);
        capture.Read(frame);
        Bitmap image = BitmapConverter.ToBitmap(frame);
        while (true)
        {
            pictureBox1.Image = image;
        }
        button1.Text = "Stop";
    }
    else
    {
        capture.Release();
        button1.Text = "Start";
    }
}

2 个答案:

答案 0 :(得分:2)

您可以使用Queue

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()));

答案 1 :(得分:1)

string[] arrProvincies = File.ReadAllLines(@"provincies.txt");

var randomProvincies = arrProvincies.Distinct().OrderBy(i => Guid.NewGuid());

randomProvincies将是随机排序的不同值(我无法理解它会在文本框中插入相同字符串的部分)。