当时没做出来,现在想了想,这样能写出来,不知道其它大虾还有更好的方法不?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;namespace RandomTest
{
    class Program
    {
        static void Main(string[] args)
        {
            List<string> aRandomList=new List<string>();            for (int i = 0; i < 100; )
{
                string stemp = GetRandom();
                if (aRandomList.Contains(stemp))
                    continue;
                else
                {
                    aRandomList.Add(stemp);
                    i++;
                }
}
                    
            Console.Read();
        }      
        
        static string GetRandom()
        {
            string words = "abcdefghijklmnopqrstuvwxyz0123456789";
            StringBuilder oSB = new StringBuilder();
            Random r = new Random();            for (int i = 0; i < 8; i++)
            {
                string word = words.Substring(r.Next(words.Length - 1), 1);
                oSB.Append(word);
            }
            string sTemp = oSB.ToString();
            return sTemp;
            }
        }
}

解决方案 »

  1.   

    private void GetNumber()
            {
                int _s = 0;
                string _str = "abcdefghijklmnopqrstuvwxyz0123456789";
                for (int i = 0; i < _str.Length; i++)
                {
                    for (int _i = 0; _i < _str.Length; _i++)
                    {
                        if (_str.Length - _i >= 7)
                        {
                            Response.Write(_str[i] + _str.Substring(_i, 7) + "<br/>");
                            _s += 1;
                        }
                        else
                        {
                            break;
                        }
                        
                    }
                }
                Response.Write("一共" + _s + "个元素"); 
            }
      

  2.   

    char[] arr="12..".ToCharArray();
    Random rand = new Random(Guid.NewGuid().GetHashCode()); 
    for(int i=;i<arr.Length;i++)
    {
    result+=arr[rand.Next(0,arr.Length)];
    }
      

  3.   

    呵呵,谢谢各位大虾的支持,这个是笔试题用Guid取值能说详细一点吗?这段代码没有看懂,我要取到100个字符串,每个字符串长度是8位,每个字符只能是[a-z0-9]
    char[] arr="12..".ToCharArray();
    Random rand = new Random(Guid.NewGuid().GetHashCode()); 
    for(int i=;i<arr.Length;i++)
    {
    result+=arr[rand.Next(0,arr.Length)];
    }
      

  4.   

    [align=left]        static void Main(string[] args)
            {
                for (int i = 0; i < 1000000; i++)
                {
                    Guid g = Guid.NewGuid();
                    string result = g.ToString().Substring(0, 8);
                    Console.WriteLine(result);
                }
            }[/align]
      

  5.   

    格式竟然乱了,再来一次static void Main(string[] args)
            {
                for (int i = 0; i < 1000000; i++)
                {
                    Guid g = Guid.NewGuid();
                    string result = g.ToString().Substring(0, 8);
                    Console.WriteLine(result);
                }
            }
      

  6.   

    oh, my god, LoveIreneSoMuch 的方法很好很牛X, thank you.
      

  7.   

    char[] arr="12..".ToCharArray();
    Random rand = new Random(System.DateTime.Now.Ticks);//注意保证这个数字的唯一性 
    for(int i=;i<arr.Length;i++)
    {
    result+=arr[rand.Next(0,arr.Length)];
    }
      

  8.   

    其实面试官考你的就是Guid 的问题  ……
    81e047fb-2d8e-4a60-9317-a325203797a8 这是其中一组
    前8……个不就是这个意思了?
      

  9.   

    guid本质就是伪随机,你可以写个简化版的伪随机序列,杀鸡焉用牛刀,每生成一次就检查是否重复了,如果重复就不要,继续取够100个
      

  10.   

     ArrayList result = new ArrayList();
                for (int i = 0; i < 100; i++)
                {
                    result.Add( System.Guid.NewGuid().ToString().Substring(0, 8)) ;
                }
      

  11.   


    static void Main(string[] args)
    {
        int NUM = 100;    List<string> list = new List<string>();
        string s;
        while(list.Count<100)
        {
            s = Guid.NewGuid().ToString().Substring(0, 8);
            if (ss.Contains(s)) 
                continue;
            list.Add(s);
        }
    }
      

  12.   

    用guid,真是小把戏,出题的公司也挺那个的吧?考这种题,
      

  13.   

    在各种泛型集合中,HashSet对于查找来说是最快的
      

  14.   

    使用DateTime Ticket也可以的,主要是控制随机种子
      

  15.   


            private void a()
            {
                char[] arr = "1234567890abcdefghijklmnopqrstuvwxyz".ToCharArray();
                Random rand = new Random();
                
                Dictionary<string,string> strs = new Dictionary<string,string>();            int i = 0;
                while (i<100)
                {
                    bool flag2 = true;
                    string temp = "";
                    for(int j = 0;j<8;j++)
                    {
                        temp += arr[rand.Next(0, arr.Length)];
                    }
                    if(!strs.ContainsKey(temp))
                    {
                        strs.Add(temp,"");
                        i++;
                    }
                }            foreach(KeyValuePair<string,string> item in  strs)
                {
                    Response.Write(item.Key);
                    Response.Write("<br/>");
                }
            }
      

  16.   

    学习了,guid的出来的字符就是在[0-9][a-z]中取的么?没有[A-Z]和特殊字符 Right?
      

  17.   

    Guid最大的问题是只有0-9,a-f,一共16个值,而题目要求是0-9,a-z,相差太远了。
      

  18.   

    或者
    System.IO.Path.GetTempFileName()
      

  19.   

    也来个,别拍我!
    static void Main(string[] args)
    {
        for (int i = 10000000; i < 10000100; ++i)
        {
            Console.Write("{0}\n", i.ToString());
        }
        Console.ReadKey();
    }
      

  20.   

    用 list<> 随机生成我还没试过呢