请选择 进入手机版 | 继续访问电脑版

无忧编程_ASP.NET  / C# / PHP 程序员的软件世界

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 3080|回复: 2

c# 生成指定位数的随机字符串

[复制链接]

412

主题

445

帖子

1844

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1844
发表于 2016-7-26 23:44:20 | 显示全部楼层 |阅读模式
c# 生成指定位数的随机字符串:
[C#] 纯文本查看 复制代码
string getString(int count)
        {
            int number;
            string checkCode = String.Empty;     //存放随机码的字符串 

            System.Random random = new Random();

            for (int i = 0; i < count; i++) //产生4位校验码 
            {
                number = random.Next();
                number = number % 36;
                if (number < 10)
                {
                    number += 48;    //数字0-9编码在48-57 
                }
                else
                {
                    number += 55;    //字母A-Z编码在65-90 
                }

                checkCode += ((char)number).ToString();
            }
            return checkCode;
        }


windows .net(C#+MSSQL) linux(php+mysql)
回复

使用道具 举报

412

主题

445

帖子

1844

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1844
 楼主| 发表于 2016-7-26 23:44:32 | 显示全部楼层
[C#] 纯文本查看 复制代码
using System;
using System.Collections.Generic;
using System.Text;

namespace ConsoleApplication1
{
    class Program
    {
        protected string randString()
        {
            string str = "1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ~!@#$%^&*()_+";//75个字符
            Random r = new Random();
            string result = string.Empty;

            //生成一个8位长的随机字符,具体长度可以自己更改
            for (int i = 0; i < 8; i++)
            {
                int m = r.Next(0, 75);//这里下界是0,随机数可以取到,上界应该是75,因为随机数取不到上界,也就是最大74,符合我们的题意
                string s = str.Substring(m, 1);
                result += s;
            }

            return result;
        }

        static void Main(string[] args)
        {
            Program p=new Program();
            string RandSting = p.randString();
            Console.WriteLine("{0}",RandSting);
            Console.Read();
        }
    }
}
windows .net(C#+MSSQL) linux(php+mysql)
回复 支持 反对

使用道具 举报

412

主题

445

帖子

1844

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1844
 楼主| 发表于 2016-7-26 23:45:44 | 显示全部楼层
[C#] 纯文本查看 复制代码
/// <summary>
/// 生成随机字符串
/// </summary>
/// <param name="random">Random</param>
/// <param name="size">字符串长度</param>
/// <param name="lowerCase">字符串是小写</param>
/// <returns>随机字符串</returns>
public static string NetxtString(this Random random, int size, bool lowerCase)
{
  StringBuilder _builder = new StringBuilder(size);
  int _startChar = lowerCase ? 97 : 65;//65 = A / 97 = a
  for (int i = 0; i < size; i++)
_builder.Append((char)(26 * random.NextDouble() + _startChar));
  return _builder.ToString();
}


static void Main(string[] args)
{
  try
  {
Random _random = new Random();
for (int i = 0; i < 10; i++)
{
   Console.WriteLine(_random.NetxtString(4, false));
}
  }
  catch (Exception ex)
  {
Console.WriteLine(ex.Message);
  }
  finally
  {
Console.ReadLine();
  }
}
windows .net(C#+MSSQL) linux(php+mysql)
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|软件编程 ( 鄂ICP备11006601号鄂公网安备 42011102001337号 |

GMT+8, 2019-6-17 13:43 , Processed in 0.207052 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表