Yes1000 一想千开
分享·快乐·成长
Index
ASP
PHP
.Net
C#
Web
正则
Windows
作品
资源
乱弹
琐碎
留言
上一篇
|
下一篇
C#
分享:我的C#随机字符串类
作者:一想千开 日期:2009-01-24
字体大小:
小
中
大
using System; namespace Yes1000.Str { public class RandStr { private string framerStr = null; private string numStr = "0123456789"; private string upperStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; private string lowerStr = "abcdefghijklmnopqrstuvwxyz"; private string markStr = @"`-=[];'\,./~!@#$%^&*()_+{}:""|<>?"; private static Random myRandom = new Random(); /// <summary> /// 如未提供参数构造,则默认由数字+小写字母构成 /// </summary> public RandStr() { framerStr = numStr + lowerStr; } /// <summary> /// 构造函数,可指定构成的字符 /// </summary> /// <param name="useNum">是否使用数字</param> /// <param name="useUpper">是否使用大写字母</param> /// <param name="useLower">是否使用小写字母</param> /// <param name="useMark">是否使用符号</param> public RandStr(bool useNum,bool useUpper,bool useLower,bool useMark) { // 如果试图构造不包含任何组成字符的类,则抛出异常 if (!useNum && !useUpper && !useLower && !useMark) { throw new ArgumentException("必须至少使用一种构成字符!"); } else { if (useNum) framerStr += numStr; if (useUpper) framerStr += upperStr; if (useLower) framerStr += lowerStr; if (useMark) framerStr += markStr; } } /// <summary> /// 使用自定义的组成字符构造 /// </summary> /// <param name="userStr">自定义字符</param> public RandStr(string userStr) { // 如果试图用空字符串构造类,则抛出异常 if (userStr.Length == 0) { throw new ArgumentException("请至少使用一个字符!"); } else { framerStr = userStr; } } /// <summary> /// 取得一个随机字符串 /// </summary> /// <param name="length">取得随机字符串的长度</param> /// <returns>返回的随机字符串</returns> public string GetRandStr(int length) { // 获取的长度不能为0个或者负数个 if (length < 1) { throw new ArgumentException("字符长度不能为0或者负数!"); } else { // 如果只是获取少量随机字符串, // 这样没有问题. // 但如果需要短时间获取大量随机字符串的话, // 这样可能性能不高. // 可以改用StringBuilder类来提高性能, // 需要的可以自己改一下 ^o^ string tempStr = null; for (int i = 0; i < length; i++) { int randNum = myRandom.Next(framerStr.Length); tempStr += framerStr[randNum]; } return tempStr; } } } }
貌似BLOG的语法高亮功能会把缩进搞没~而且复制后连换行都没了 - -!!
提供一个文件下载:
点击下载此文件
此源码为随机字符串生成小工具的核心源码,需要此工具可以访问:
引用内容
Yes1000 随机字符串生产小工具
本作品采用
知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议
进行许可。
文章来自:
本站原创
引用通告:
查看所有引用
|
我要引用此文章
Tags:
C#
C#
随机数
随机数
字符串
字符串
评论: 0 |
引用: 0
| 查看次数:
-
发表评论
昵 称:
密 码:
游客发言不需要密码.
内 容:
正在加载编辑器...
验证码:
选 项:
禁止表情转换
禁止自动转换链接
禁止自动转换关键字
虽然发表评论不用注册,但是为了保护您的发言权,建议您
注册帐号
.
Powered By
PJBlog3 v3.0.6.170
CopyRight 2005 - 2008,
Yes1000 一想千开
xhtml
|
css
陇ICP备05003005号