任何人都可以帮助我,向我解释代码.谢谢你. [英] Anyone can help me, explaining the codes to me. Thank You.

查看:48
本文介绍了任何人都可以帮助我,向我解释代码.谢谢你.的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

任何人都可以向我解释以下内容,这是什么意思?


Anyone can explain to me the following, what does the do and mean?


private string RandomString(int StrLength)
    {
        string CharsList = "abcdefghijklmnopqrstuvwxyz1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ!@#$%^&*";
        char[] chars = CharsList.ToCharArray();

        RNGCryptoServiceProvider cryptoGen = new RNGCryptoServiceProvider();
        byte[] ByteData = new byte[StrLength];
        cryptoGen.GetBytes(ByteData);

        StringBuilder ResultStr = new StringBuilder();
        foreach (byte byt in ByteData)
        {
            ResultStr.Append(chars[byt % chars.Length]);
        }
        return ResultStr.ToString();

    }

推荐答案

%^& *"; char [] chars = CharsList.ToCharArray(); RNGCryptoServiceProvider cryptoGen = RNGCryptoServiceProvider(); 字节 [] ByteData = 字节 [ StrLength]; cryptoGen.GetBytes(ByteData); StringBuilder ResultStr = StringBuilder(); foreach ( byte byt in ByteData中) { ResultStr.Append(chars [byt%chars.Length]); } 返回 ResultStr.ToString(); }
%^&*"; char[] chars = CharsList.ToCharArray(); RNGCryptoServiceProvider cryptoGen = new RNGCryptoServiceProvider(); byte[] ByteData = new byte[StrLength]; cryptoGen.GetBytes(ByteData); StringBuilder ResultStr = new StringBuilder(); foreach (byte byt in ByteData) { ResultStr.Append(chars[byt % chars.Length]); } return ResultStr.ToString(); }


您好,

Hello,

private string RandomString(int StrLength) //A method to generate a random string which its lenght is StrLength.

{
        string CharsList = "abcdefghijklmnopqrstuvwxyz1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ!@#


%^& *"; // 清除 char [] chars = CharsList.ToCharArray(); // 将CharsList转换为Char数组.例如:char [0] ='a',char [1] ='b',char [25] ='z'和.... RNGCryptoServiceProvider cryptoGen = RNGCryptoServiceProvider(); // 创建RNGCryptoServiceProvider的新实例.这是一个随机数生成器. 字节 [] ByteData = 字节 [ StrLength]; // 创建一个字节数组来保存随机值.其长度等于CharsList.Lenght cryptoGen.GetBytes(ByteData); // 用随机值填充数组(ByteData). StringBuilder ResultStr = StringBuilder(); // 创建StringBuilder的实例,以创建动态字符串并避免不必要的垃圾收集. // 优于: // 字符串ResultStr = string.Empty; // foreach(在ByteData中的字节byt) // { // ResultStr + =字符[byt%chars.Length]; // } foreach (字节 byt in ByteData中)// 测量生成的数组(ByteData) { ResultStr.Append(chars [byt%chars.Length]); // 将生成的字符打包为字符串. // [byt%chars.Length]用于创建数字> = 0和<长度 } 返回 ResultStr.ToString(); // 它非常清晰! }
%^&*"; //Clear char[] chars = CharsList.ToCharArray(); //Converts CharsList to a Char array. for example: char[0]='a', char[1] = 'b', char[25]= 'z' and .... RNGCryptoServiceProvider cryptoGen = new RNGCryptoServiceProvider(); //Creates a new instance of the RNGCryptoServiceProvider. It's a Random Number Generator. byte[] ByteData = new byte[StrLength]; //Creates an byte array to hold the random value. Its lenght is equal to CharsList.Lenght cryptoGen.GetBytes(ByteData); // Fills the array (ByteData) with a random value. StringBuilder ResultStr = new StringBuilder(); //Creates an instance of StringBuilder to create dynamic strings and avoid unnecessary garbage collection. //It's better than: // string ResultStr = string.Empty; //foreach (byte byt in ByteData) //{ // ResultStr += chars[byt % chars.Length]; //} foreach (byte byt in ByteData)//Measuring Generated array (ByteData) { ResultStr.Append(chars[byt % chars.Length]);//Packing generated chars as a string. // [byt % chars.Length] for creating a number >= 0 and < StrLenght } return ResultStr.ToString(); //It's crystal clear ! }


这篇关于任何人都可以帮助我,向我解释代码.谢谢你.的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆