验证码 随机数

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            //随机生成一个四位数的验证码,范围是0~9的数字,26位英文字母的大小写,输入验证码是否正确
            for (; ; )//外部加一个无限循环,当用户输入错误可以再次进入重新输入
            {
                Random ran = new Random();//初始化一个随机数
                string a = "", b = "";    //创建两个字符串变量
                for (int i = 0; i < 4; i++)//写一个四次的循环,以为每次生成一个随机数,一共需要四个
                {
                    //下面数组里面一共有36个元素,也就是0~35的索引,所以创建36以内的36个非负随机数
                    int c = ran.Next(36);
                    string[] d = new string[36] //开辟一个数组空间放置36个字符串,命名d
                { "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","1","2","3","4","5","6","7","8","9","0" };
                    a = d[c];//变量a等于随机数的随机的一个元素
                    b += a;//每次随机打印一个数组内的元素用b来接收,一共循环四次,生成四位数代码
                }
                Console.WriteLine("验证码是:" + b);//计算机输出验证码
                Console.Write("请输入验证码:");//用户输入验证码
                string f = Console.ReadLine();//用一个字符串类型的变量f接收
                f = f.ToUpper();//因为数组内的英文是大写,用户输入不区分大小写,所以把用户输入的转为大                                //写来比较
                if (f == b)//如果用户输入的等于电脑输入的,输入正确,
                {
                    Console.WriteLine("输入正确");
                    break;//因为外部套了一个无限循环,当用户输入错误可以再次进入循环重新输入,
                }          //所以当输入正确时,break跳出循环
                else
                {
                    Console.WriteLine("验证码输入不正确,请重新输入!");
                }
            }
            Console.ReadLine();
        }
    }
}
原文地址:https://www.cnblogs.com/zyg316/p/5507199.html