首页 > 解决方案 > for循环内部的逻辑解释

问题描述

我是 C# 的新手。我看过随机密码生成器的代码。我需要帮助来理解 for 循环函数内部的逻辑,以进一步了解它是如何工作的:

{
    stringChars[i] = chars[random.Next(chars.Length)];
}

下面是完整的代码

public static string RandomString(int length)
{
    const string chars =
        "abcdefghijklmnopqrstuvwxyz" +
        "ABCDEFGHIJKLMNOPQRSTUVWXYZ" +
        "0123456789" +
        "@!#*&_";
    var stringChars = new char[8]; 
    var random = new Random();

    for (int i = 0; i < stringChars.Length; i++)
    {
        stringChars[i] = chars[random.Next(chars.Length)];
    }

    return new string (stringChars);

标签: c#for-looprandom

解决方案


让我们stringChars[i] = chars[random.Next(chars.Length)];下来

  1. chars是一种 String类型
  2. chars[...] 是在某个索引的字符串数组中获取一个项目,即chars[0]会给你 char 'a'
  3. random.Next(X)就是得到一个介于0和括号内的数字之间的随机数
  4. chars.Length将为您提供字符字符串的长度,即字符串中字符的数量
  5. 从 [4] 和 [3]random.Next(chars.Length)你会得到一个介于 0 和你的字符串长度之间的随机数
  6. 从 [5] 和 [2] 你会得到你的字符串中的随机字符

意思是在该行中,您将为字符串中stringChars的随机字符插入每个位置 chars

提示 尝试始终将您不理解的行分成较小的部分,然后分别分析它们,然后将它们加在一起


推荐阅读