.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: }
很简单的代码,希望对您有帮助!
您可能对下面这篇文章感兴趣:
作者:Petter Liu
出处:http://www.cnblogs.com/wintersun/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
该文章也同时发布在我的独立博客中-Petter Liu Blog。