This seems like a bug in studio or compilator
<p>Problem is that after <strong>Randomize</strong> func, array <strong>forcombo</strong> equals <strong>random_for_combo</strong>, but I <strong>do not</strong> equate them anywhere. Please help.</p>

<pre><code>    private void button1_Click(object sender, EventArgs e)
    {
        string sub = "1#2#3#4#5#6#7#8#9#10";
        string[] split = sub.Split('#');
        string[] forcombo = new string[split.Length / 2];
        int s = 0;
        for (int j = 1; j &lt;= split.Length - 1; j += 2)
        {
            forcombo[s] = split[j];
            s++;
        }
        string[] random_for_combo = new string[forcombo.Length];
        random_for_combo = forcombo;
        MessageBox.Show(forcombo[0] + forcombo[1] + forcombo[2] + forcombo[3] + forcombo[4], "Before random");
        random_for_combo = RandomizeStrings(random_for_combo);
        MessageBox.Show(forcombo[0]+forcombo[1]+forcombo[2]+forcombo[3]+forcombo[4], "After random");
    }
    public static string[] RandomizeStrings(string[] arr)
    {

        ArrayList l1 = new ArrayList(arr.Length);
        ArrayList l2 = new ArrayList(arr.Length);
        foreach (object k in arr)
        {
            l1.Add(k.ToString());
        }
        while (l1.Count &gt; 0)
        {
            Random rnd = new Random();
            int rand = rnd.Next(l1.Count);
            l2.Add(l1[rand]);
            l1.RemoveAt(rand);
            Thread.Sleep(rnd.Next(50));
        }
        for (int i = 0; i &lt; l2.Count; i++)
        {
            arr[i] = l2[i].ToString();
        }
        return arr;
    }
</code></pre>

<p>Some helpless info to complete question..</p>
