.net framework 3.5 中提供了强大的委托类型Func<T, TResult>,如果您不清楚可以先参考:MSDN

下面来看这个小函数生成简单随机密码:

   1:    public string CreateTemporaryPassword(int length)
   2:          {
   3:              Func<Random, char> randomNumber = rnd => (char)rnd.Next(48, 58);
   4:              Func<Random, char> randomCharacter = rnd => (char)rnd.Next(97, 123);
   5:              var funcArray = new[] { randomNumber, randomCharacter };
   6:              var chars = new char[length];
   7:   
   8:              Random random = new Random();
   9:              for (int i = 0; i < length; i++)
  10:              {
  11:                  var index = random.Next(0, funcArray.Length);
  12:                  chars[i] = funcArray[index](random);
  13:              }
  14:   
  15:              return new string(chars);
  16:          }

UnitTest:

   1:          [Test]
   2:          public void TestSimpleWay()
   3:          {
   4:              Assert.AreEqual(8,CreateTemporaryPassword(8).Length);
   5:          }

        很简单的代码,希望对您有帮助!

        您可能对下面这篇文章感兴趣:

        用CSharp生成强密码

 


作者:Petter Liu
出处:http://www.cnblogs.com/wintersun/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
该文章也同时发布在我的独立博客中-Petter Liu Blog

posted on 2010-07-11 15:21  PetterLiu  阅读(589)  评论(1编辑  收藏  举报