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

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

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 3633|回复: 2

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

[复制链接]

422

主题

455

帖子

1892

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1892
发表于 2016-7-26 23:44:20 | 显示全部楼层 |阅读模式
c# 生成指定位数的随机字符串:[mw_shl_code=csharp,true]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;
        }[/mw_shl_code]

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

使用道具 举报

422

主题

455

帖子

1892

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1892
 楼主| 发表于 2016-7-26 23:44:32 | 显示全部楼层
[mw_shl_code=csharp,true]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();
        }
    }
}[/mw_shl_code]
windows .net(C#+MSSQL) linux(php+mysql)
回复 支持 反对

使用道具 举报

422

主题

455

帖子

1892

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1892
 楼主| 发表于 2016-7-26 23:45:44 | 显示全部楼层
[mw_shl_code=csharp,true]/// <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();
  }
}[/mw_shl_code]
windows .net(C#+MSSQL) linux(php+mysql)
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2019-8-24 12:02 , Processed in 0.065445 second(s), 20 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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