Từ nhận xét của bạn Tôi kết luận rằng bạn đọc tên sinh viên từ đầu vào và bạn cần xóa sinh viên với tên đã cho.
class Student {
public string Name { get; set; }
public int Number { get; set; }
public Student (string name, int number)
{
Name = name;
Number = number;
}
}
var students = new List<Student> {
new Student ("Daniel", 10),
new Student ("Mike", 20),
new Student ("Ashley", 42)
};
var nameToRemove = Console.ReadLine();
students.RemoveAll (s => s.Name == nameToRemove); // remove by condition
Lưu ý rằng điều này sẽ xóa tất cả học sinh có tên đã cho.
Nếu bạn cần phải loại bỏ những sinh viên đầu tiên được tìm thấy bởi tên, lần đầu tiên sử dụng First
phương pháp để tìm thấy anh ta, và sau đó gọi Remove
cho ví dụ:
var firstMatch = students.First (s => s.Name == nameToRemove);
students.Remove (firstMatch);
Nếu bạn muốn đảm bảo chỉ có một sinh viên với tên được đặt trước khi tháo ông, sử dụng Single
trong một thời trang tương tự:
var onlyMatch = students.Single (s => s.Name == nameToRemove);
students.Remove (onlyMatch);
Lưu ý rằng Single
gọi không thành công nếu không có chính xác một mục phù hợp với vị từ.
Nguồn
2011-02-05 00:27:43
Điều này là hoàn toàn tắt chủ đề, nhưng cũng xem xét xem xét các thuộc tính được tự động triển khai. http://msdn.microsoft.com/en-us/library/bb384054.aspx – inspite