using System; namespace ZhuaJiuNS { public class ZhuaJiu { public static void Main() { string[] namelist = null; CreateNameList(ref namelist); string[] afternamelist; Zhua(namelist, out afternamelist); PrintNameList(afternamelist); Console.ReadKey(); } public static void CreateNameList(ref string[] beforelist) { beforelist = new string[5]; beforelist[0] = "张三"; beforelist[1] = "李四"; beforelist[2] = "王五"; beforelist[3] = "赵六"; beforelist[4] = "孙七"; } public static void Zhua(string[] beforelist, out string[] afterlist) { afterlist = new string[1]; int tmpindex = -1; System.Random ran = new Random(); if (beforelist.Length > 0) { Console.WriteLine("开始抓阄了:"); int tmplength = beforelist.Length; for (int i = 0; i < tmplength; i++) { Console.WriteLine("请回车进行抓阄"); Console.ReadLine(); tmpindex = ran.Next(0, beforelist.Length); Console.WriteLine("本次抓到的人为" + beforelist[tmpindex]); InsertAfterList(beforelist[tmpindex], ref afterlist); RemoveFromBeforeList(tmpindex, ref beforelist); } Console.WriteLine("抓阄结束"); } } public static void InsertAfterList(string insertname, ref string[] afterlist) { afterlist[afterlist.Length - 1] = insertname; string[] longlist = new string[(afterlist.Length + 1)]; for (int i = 0; i < afterlist.Length; i++) { longlist[i] = afterlist[i]; } afterlist = longlist; longlist = null; } public static void RemoveFromBeforeList(int removeindex, ref string[] beforelist) { if (removeindex == (beforelist.Length - 1)) { beforelist[removeindex] = ""; } else { int i = 0; for (i = removeindex; i < (beforelist.Length - 1); i++) { beforelist[i] = beforelist[i + 1]; } } if (beforelist.Length > 1) { string[] shortlist = new string[(beforelist.Length - 1)]; for (int i = 0; i < beforelist.Length - 1; i++) { shortlist[i] = beforelist[i]; } beforelist = shortlist; shortlist = null; } else { beforelist = null; } } public static void PrintNameList(string[] list) { Console.WriteLine("下面输出人员列表:"); for (int i = 0; i < list.Length; i++) { Console.Write(list[i] + " "); } Console.WriteLine(); Console.WriteLine("输出人员列表结束"); } } }