using Dexih.Utils.CopyProperties;
using System.Collections.Generic;
public static void Main()
var students = new List<Student>()
new Student() { StudentId = "100", FirstName = "John", LastName = "Doe" },
new Student() { StudentId = "200", FirstName = "Jane", LastName = "Smith" },
new Student() { StudentId = "300", FirstName = "Joe", LastName = "Bloggs" },
var newStudents = students.CloneProperties<List<Student>>();
var student = students.Single(c => c.StudentId == "100");
student.LastName = "Does";
students.CopyProperties(newStudents);
student = students.Single(c => c.StudentId == "200");
students.Remove(student);
students.CopyProperties(newStudents);
public static void PrintList(List<Student> students)
Console.WriteLine("Current Student List:");
foreach(var student in students)
Console.WriteLine("Id=" + student.StudentId + ",Firstname=" + student.FirstName + ",LastName=" + student.LastName + ",IsCurrentStudent=" + student.IsCurrentStudent);
public string StudentId { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public string Class {get ;set; }
public bool IsCurrentStudent {get; set;}