本帖最后由 lj921314 于 2012-01-02 18:48:23 编辑

解决方案 »

  1.   

    string[] students = new string[] { "王一", "王二", "王三", "王四", "王五", "王六", "王七", "王八", "王九" };
    int groupnum = 3; //分3组
    var query = from y in Enumerable.Range(0, students.Length)
                            .Select(x => new { r = Guid.NewGuid().ToString(), x }).ToList()
                            .OrderBy(x => x.r).Select((x, i) => new { name = students[x.x], i })
                group y by y.i % groupnum into g
                select new { g.Key, g };
    foreach (var item in query)
    {
        MessageBox.Show("第" + (item.Key + 1) + "组" + string.Join(", ", item.g.Select(x => x.name)));
    }