我想仅在列表中尚未添加classStudents到列表中._ClassStudentsclassStudents
public class ClassStudents{
public Id {get; set;}
public Name {get; set;}
public List<Student> Student {get; set;}
}
public static List<ClassStudents> _ClassStudentsList = new List<ClassStudents>();
public static void addClassStudents(ClassStudents classStudents)
{
//if( classStudents isn't in ClassStudentsList ) <------
_ClassStudentsList.Add(classStudents);
}
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?
您可以使用Any扩展方法:
var text = nameClassStudents.Text;
if(!_ClassStudentsList.Any(t => t.Text == text))
{
_ClassStudentsList.Add(new ClassStudents(text,(int)numericUpDown1.Value));
}
Run Code Online (Sandbox Code Playgroud)
但是,这并不能保证名称在列表中是唯一的.如果你想保证它,你可以简单地使用a Dictionary<string, int>而不是a List<ClassStudents>.
字典不允许重复键.
当然,在这里你还需要在向字典添加值之前检查密钥是否存在:
var dict = new Dictionary<string, int>;
...
var text = nameClassStudents.Text;
if(!dict.ContainsKey(text))
(
dict.Add(text, (int)numericUpDown1.Value);
)
Run Code Online (Sandbox Code Playgroud)