Memilih item acak dari daftar C # OOP [duplikat]
Saya punya dua metode. Yang pertama saya menambahkan item ke daftar yang disebut Orang. Yang kedua saya perlu memilih item acak dari daftar (Orang) dan mengembalikan nama orang dari daftar.
Saya tidak yakin bagaimana melakukan ini. Saya sudah mencoba membuat nomor acak dan huruf acak namun saya tidak mengerti cara menggunakan ini dengan daftar.
Bantuan apa pun akan sangat dihargai! Terima kasih sebelumnya
static void PopulatePersons()
{
Person Bill = new Person("Bill", "no", "brown", 'm');
Person Eric = new Person("Eric", "yes", "brown", 'm');
Person Robert = new Person("Robert", "no", "blue", 'm');
Person George = new Person("George", "yes", "brown", 'm');
Person Herman = new Person("Herman", "no", "green", 'm');
Person Anita = new Person("Anita", "no", "blue", 'f');
Person Maria = new Person("Maria", "yes", "green", 'f');
Person Susan = new Person("Susan", "no", "brown", 'f');
Person Claire = new Person("Claire", "yes", "brown", 'f');
Person Anne = new Person("Anne", "no", "brown", 'f');
Persons = new List<Person>()
{ Bill, Eric, Robert, George, Herman, Anita, Maria, Susan, Claire, Anne };
}
static Person GetRandomPerson()
{
PopulatePersons();
}
Jawaban
2 MestreDosMagros
Anda dapat menggunakan kelas Acak untuk menghasilkan bilangan bulat acak dalam kisaran ukuran daftar Anda, berikut ini contohnya:
public class Program
{
public static void Main()
{
var persons = PopulatePersons();
var random = new Random();
var randomPeople = persons.ElementAt(random.Next(0, persons.Count));
Console.WriteLine(randomPeople.Name);
}
public static List<Person> PopulatePersons()
{
Person Bill = new Person("Bill");
Person Eric = new Person("Eric");
Person Robert = new Person("Robert");
Person George = new Person("George");
Person Herman = new Person("Herman");
Person Anita = new Person("Anita");
return new List<Person>() { Bill, Eric, Robert, George, Herman, Anita };
}
public class Person
{
public Person(string name)
{
Name = name;
}
public string Name {get;set;}
}
}
2 DavidB
Yang Anda cari adalah:
var person = PopulatePersons.Persons[yourRandomNumber];
Jadi metode Anda akan terlihat seperti ini:
static Person GetRandomPerson()
{
Random rndPerson= new Random();
int rndNumber = rnd.Next(0, PopulatePersons.Pesrons.Count);
return PopulatePersons.Persons[rndNumber];
}
Kiat Pemilik Anjing yang Bermanfaat: Mengapa Penting untuk Membiarkan Anjing Anda Mengendus di Jalan
Taylor Sheridan Baru Menambahkan 1 Bintang 'Yellowstone' Favoritnya ke Pemeran 'Lawmen: Bass Reeves'