たぶん、あなたは小さなクエリでそれを行うことができます。
最初この更新された生徒は誰ですか?
し、リストからこの生徒の場所を探す
は、新しい値でこの場所を変更し
var student = _cache.Get(CacheVariable.cache_data_student) as List<Student>;
Student findStudent = student.FirstOrDefault(x=> x.Id == st.Id);
int id = student.IndexOf(y);
student[id] = st;
またはあなたがのように最後の行のために別のものを使用することができますしたい場合:
student[id] = new Student()
{
id = x,
name = "y",
address = "z"
};
おそらくこの状況のためのより良い解決策がありますが、わかりません。
public void updateStudent(Student st)
{
Student studentToUpdate = _cache.FirstOrDefault(s => s.id == st.id)
studentToUpdate?.Update(st);
}
独自のメソッドを実装する必要があり、あなたの学生を更新するには:私は、学生が更新するために取得するためにLINQを使用し、IDは一意の識別子でなければなりませんので、これは
更新とはどういう意味ですか?目的の動作を説明してください。 – Fruchtzwerg
実際には 'Update'メソッドはありません。' updateStudent'関数に渡されるアイテムを更新したいと思います。 –
必要なすべてのプロパティを更新して、学生に独自の更新メソッドを実装する必要があります。 – Fruchtzwerg