Объяснение логи c внутри для цикла - PullRequest
0 голосов
/ 13 апреля 2020

Я новичок ie в C#. Я видел код для генератора случайных паролей. Мне нужна помощь в понимании логики c внутри функции for l oop, чтобы понять, как она работает:

{
    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);

1 Ответ

0 голосов
/ 13 апреля 2020

давайте stringChars[i] = chars[random.Next(chars.Length)]; вниз

  1. chars имеет тип String
  2. chars [...], чтобы получить элемент в массив строк в некоторый индекс, то есть chars[0] даст вам символ 'a'
  3. random.Next(X), чтобы получить случайное число от 0 до числа, записанного в скобках
  4. chars.Length даст вам длина строки символов, означающая количество символов в строке
  5. из [4] и [3] random.Next(chars.Length), вы получите случайное число от 0 до длины вашей строки
  6. из [5] и [2] вы получите случайный символ в вашей строке

, означающий, что в этой строке вы будете вставлять для каждого места в stringChars случайный символ от вас chars string

TIP Старайтесь всегда разбивать непонятную строку на меньшие сегменты, а затем анализировать их по отдельности, а затем складывать все вместе

...