[ Полезный рекламный блок ]
Попробуйте свои силы в игре, где ваши навыки программирования на C# станут решающим фактором. Переходите по ссылке 🔰.
Для того что бы перемешать List<T> в C# можно использовать алгоритм Fisher-Yates shuffle. Этот алгоритм перебирает каждый элемент списка и меняет его местами с другим случайно выбранным элементом, в результате чего получается рандомизированный список.
Вот пример реализации:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
// create a new random number generator Random rand = new Random(); // define the list to be randomized List<T> myList = new List<T>() { /* add elements here */ }; // iterate through each element in the list for (int i = 0; i < myList.Count; i++) { // generate a random index to swap with int j = rand.Next(i, myList.Count); // swap the current element with the randomly chosen element T temp = myList[i]; myList[i] = myList[j]; myList[j] = temp; } |
В этом примере вы сначала создаете новый экземпляр класса Random, который вы будете использовать для генерации случайных чисел. Затем вы определяете список для рандомизации.
Цикл for выполняет итерации по каждому элементу списка, генерируя случайный индекс «j» между текущим индексом «i» и концом списка. Затем он меняет элемент с индексом «i» на элемент с индексом «j», используя временную переменную для хранения значения текущего элемента во время замены.
После завершения цикла список будет перемешан, и вы сможете использовать его по своему усмотрению.
Я надеюсь, что вам понравилось читать эту статью, и она оказалась легкой для понимания. Пожалуйста, дайте мне знать, если у вас есть какие-либо комментарии или исправления.
Так же вам может быть интересна предыдущая статья — Что такое NullReferenceException?.
Вы хотите научится писать код на языке программирования C#?
Создавать различные информационные системы, состоящие из сайтов, мобильных клиентов, десктопных приложений, телеграмм-ботов и т.д.
Переходите к нам на страницу Dijix и ознакомьтесь с условиями обучения, мы специализируемся только на индивидуальных занятиях, как для начинающих, так и для более продвинутых программистов. Вы можете взять как одно занятие для проработки интересующего Вас вопроса, так и несколько, для более плотной работы. Благодаря личному кабинету, каждый студент повысит качество своего обучения, в вашем распоряжении:
- Доступ к пройденному материалу
- Тематические статьи
- Библиотека книг
- Онлайн тестирование
- Общение в закрытых группах
Живи в своем мире, программируй в нашем.