.net如何随机生成字母、数字、符号六位字符串

liu_dashi 2013-05-16 10:15:07
我找了一下 有生成字符、数字的方法,没有找到我想要的方法。哪位大侠给个思路
...全文
917 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
好基友一被子 2013-05-16
  • 打赏
  • 举报
回复
其实是你的想法有问题,既然是随机了。这里又要求必须包含,不感觉矛盾么
zhongxiaobing 2013-05-16
  • 打赏
  • 举报
回复
引用 10 楼 liu_dashi 的回复:
楼上的是可以,不知还有没有更好的办法?
那就只能三个循环了,
liu_dashi 2013-05-16
  • 打赏
  • 举报
回复
楼上的是可以,不知还有没有更好的办法?
好基友一被子 2013-05-16
  • 打赏
  • 举报
回复
引用 7 楼 liu_dashi 的回复:
[quote=引用 6 楼 QQ247085994 的回复:] [quote=引用 4 楼 liu_dashi 的回复:] [quote=引用 3 楼 bindofn 的回复:] Random rd = new Random(); string str = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_"; string result = ""; for (int i = 0; i < 6; i++) { result+=str[rd.Next(str.Length)]; }
这个生成的没有符号吧[/quote]要符号就在后面加上 [/quote]这样生成的随机字符串 不一定这三种都包含吧!我要的是生成的随机字符串包含 数字、字母、字符[/quote] 想到一个比较傻的办法,弄三个一样的方法 只是string str 这个赋值分成你要的数字、字母、字符三种。之后random 把三个得到的结果拼接成一个字符串。嘿嘿
bindofn 2013-05-16
  • 打赏
  • 举报
回复
Random rd = new Random(); string str = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; string str1="0123456789"; StringBuilder result = new StringBuilder(6); result.Append("******"); for (int i = 0; i < 3; i++) { result.Insert(rd.Next(6),str[rd.Next(str.Length)]); } for (int i = 0; i < 2; i++) { result.Insert(rd.Next(6),str1[rd.Next(str1.Length)]); } result.Insert(rd.Next(6),'_'); result.Replace("*", ""); 写的有点稀烂,凑合下
liu_dashi 2013-05-16
  • 打赏
  • 举报
回复
引用 6 楼 QQ247085994 的回复:
[quote=引用 4 楼 liu_dashi 的回复:] [quote=引用 3 楼 bindofn 的回复:] Random rd = new Random(); string str = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_"; string result = ""; for (int i = 0; i < 6; i++) { result+=str[rd.Next(str.Length)]; }
这个生成的没有符号吧[/quote]要符号就在后面加上 [/quote]这样生成的随机字符串 不一定这三种都包含吧!我要的是生成的随机字符串包含 数字、字母、字符
zhongxiaobing 2013-05-16
  • 打赏
  • 举报
回复
引用 4 楼 liu_dashi 的回复:
[quote=引用 3 楼 bindofn 的回复:] Random rd = new Random(); string str = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_"; string result = ""; for (int i = 0; i < 6; i++) { result+=str[rd.Next(str.Length)]; }
这个生成的没有符号吧[/quote]要符号就在后面加上
zhongxiaobing 2013-05-16
  • 打赏
  • 举报
回复
 /// <summary>
        /// 生成随机字母与数字或字符
        /// </summary>
        /// <param name="Length">生成长度</param>
        /// <param name="Sleep">是否要在生成前将当前线程阻止以避免重复</param>
        /// <returns></returns>
        public static string Str(int Length, bool Sleep)
        {
            if(Sleep)
                System.Threading.Thread.Sleep(3);
            char[] Pattern = new char[] { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z' ,'+'};
            string result = "";
            int n = Pattern.Length;
            System.Random random = new Random(~unchecked((int)DateTime.Now.Ticks));
            for (int i = 0; i < Length; i++)
            {
                int rnd = random.Next(0,n);
                result += Pattern[rnd];
              
            }
            return result;
        }
夜色镇歌 2013-05-16
  • 打赏
  • 举报
回复
liu_dashi 2013-05-16
  • 打赏
  • 举报
回复
引用 3 楼 bindofn 的回复:
Random rd = new Random(); string str = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_"; string result = ""; for (int i = 0; i < 6; i++) { result+=str[rd.Next(str.Length)]; }
这个生成的没有符号吧
bindofn 2013-05-16
  • 打赏
  • 举报
回复
Random rd = new Random(); string str = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_"; string result = ""; for (int i = 0; i < 6; i++) { result+=str[rd.Next(str.Length)]; }
liu_dashi 2013-05-16
  • 打赏
  • 举报
回复
嗯 是要用random 可是 怎么弄呢?
await2013 2013-05-16
  • 打赏
  • 举报
回复
Random
dalmeeme 2013-05-16
  • 打赏
  • 举报
回复
		string s = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_";	//自己定义符号
		string r = string.Empty;
		Random random = new Random();
		Enumerable.Repeat<int>(0, 6).ToList().ForEach(x => r += s[random.Next(s.Length)]);
		Response.Write(r);
liu_dashi 2013-05-16
  • 打赏
  • 举报
回复
引用 16 楼 insus 的回复:
参考: http://www.cnblogs.com/insus/tag/ROUND/
这个存储过程不错 可是我用的是oracle 不知道有些参数 需要如何改动
insus 2013-05-16
  • 打赏
  • 举报
回复
misswangjinfeng 2013-05-16
  • 打赏
  • 举报
回复
网上大把的代码 主要用 random
isdou1234 2013-05-16
  • 打赏
  • 举报
回复
记得更新随机因子
Jxb_Sir 2013-05-16
  • 打赏
  • 举报
回复
将所有字符列成数组,再随机取6个

62,047

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧