Как скопировать генератор случайных строк (из A — Z, 0-9) в буфер обмена?

#c#

#c#

Вопрос:

Я уже пробовал свою собственную версию здесь:

 private void button6_Click(object sender, EventArgs e)
{
    string gen(int length)
    {
        const string valid = 
            "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890";

        StringBuilder res = new StringBuilder();
        Random rnd = new Random();

        while (0 < length)
        {
            res.Append(valid[rnd.Next(valid.Length)]);
            Clipboard.SetText(string);
        }

        return res.ToString();
    }
}
  

который вообще не работает, я не уверен, нужен ли мне setText (строка) или нет, но я получаю ошибку в списке ошибок: «недопустимый термин выражения ‘string'»

Комментарии:

1. Похоже, что ваше while условие останется true навсегда. Следует ли уменьшать length внутри цикла? И если да, имеет ли смысл использовать for цикл?

2. Кроме того, не было бы разумнее задать Clipboard текст после завершения цикла (т. Е. непосредственно перед return оператором do Clipboard.SetText(res.ToString()); )? Повторять это снова и снова в подобном жестком цикле кажется непродуктивным.

Ответ №1:

Вы не задаете сгенерированную вами случайную строку (которая является res ).

изменить

  Clipboard.SetText(string);
  

Для

  Clipboard.SetText(res.ToString());
  

Комментарии:

1. опередил меня на 7 секунд

2. это часто случается. 😉

3. я не понимаю, почему я получаю минус голосов, лол, где недостаток информации?