C# WindowsForm как вывести элементы из массива в TextBox без повторений?
В программе есть массив состоящий из 60 элементов {'`', '1', '2', '3', '4', '5', '6', '7', '8', '9', '0', '-', '=', 'q', 'w',
'r', 't', 'y', 'u','i','o','p','[',']','a','s','d','f','g','h','j','k','l',';','z',
'"' ,'x','c','v','b','n','m',',','.','/',':', '+', '*', '?', '<', '>', '!', '@', '#', '$',
'%', '^', '&', '(', ')'}
в winform есть два TextBox-а в первом пользователь вводит количество символов для вывода во второй TextBox, во втором соответственно выводится рандомные символы из массива.
К примеру: Если в первый TextBox ввести число 4 будет выведено 4 элемента(например "jx
Также в первом TextBox-e стоит ограничение нельзя вводить ничего кроме положительных чисел и число не может быть больше 60(иначе выводится ошибка).
Нужно написать код который в TextBox второй при нажатии на кнопку генерации выводил элементы массива без повторений(не должно быть к примеру показано два раза n, либо два раза 1 и т.д.)
Foggy Finder, не знаю как сделать чтобы TextBox второй выводил элементы без повторений, смог только сделать чтобы выводил рандомно но с повторениями элементов
Стас, что конкретно вы тут не знаете? Раз вам надо без повторений, то и делайте без повторений - на этапе генерации символа проверяете есть ли символ уже в строке. Есть - генерируете следующий, нету - добавляете символ к строке. Хотя можно изначально при генерации символа удалять его из пула доступных для генерации символов чтобы при следующей итерации не было возможности на него наткнуться.
char[] m = default;
// что означает вообще null
// где то чем то заполняем m
var m2 = m.Distinct();
// m2 будет иметь тип IEnumerable<char> и содержать только уникальные элементы
// если нужен массив, тогда так
var m2 = m.Distinct().ToArray();
// если нужен лист, тогда так
var m2 = m.Distinct().ToList();
// исходный m тоже может быть и List и IEnumerable, будет работать для любого варианта