Tôi đang tạo một ứng dụng bảng điều khiển trò chơi nhỏ. Tôi đã tạo danh sách có 3 câu hỏi trong đó. Làm cách nào để chương trình có thể chọn ngẫu nhiên một câu hỏi và in nó ra khỏi bảng điều khiển?C# Chọn phần tử ngẫu nhiên từ Danh sách
Tôi đã thử một số mã khác nhau nhưng dường như không thể làm cho nó hoạt động vì một số lý do. Đây là mã cuối cùng tôi đã cố gắng, mà tôi nhận được từ người dùng khác từ trang web này, nhưng tôi nhận được lỗi:
"The name 'string' does not exists in current context"
"Từ 'Quiz.Questions.main()' trả về void, một từ khóa trở lại phải không được theo sau bởi một biểu tượng"
đây là mảnh cuối cùng của mã mà tôi đã cố gắng:
class Questions
{
public static void main()
{
var questions = new List<string>{
"question1",
"question2",
"question3"};
int index = Random.Next(strings.Count);
questions.RemoveAt(index);
return questions;
}
}
Cảm ơn tất cả các bạn để được trả lời của bạn. Tôi đã khắc phục sự cố của mình bằng cách tạo mảng thay vì Danh sách. Đây là mã của tôi ngay bây giờ:
class Questions
{
public static void main()
{
string[] questions = new string[3];
questions[0] = "question1";
questions[1] = "question2";
questions[2] = "question3";
Random rnd = new Random();
Console.WriteLine(questions[rnd.Next(0,2)]);
}
}
Làm thế nào để bạn gọi phương thức của bạn? Vì hiện tại là loại void, bạn phải bỏ qua giá trị trả về 'câu hỏi ' – HimBromBeere
duplicate => http://stackoverflow.com/questions/2019417/access-random-item-in-list – gleng
var randomQuestion = câu hỏi [ new Random(). Tiếp theo (questions.Count)]; Hãy chắc chắn đầu tiên rằng danh sách không phải là null – iulian3000