2016-09-02 14 views
0

同じクラスのインスタンスを比較します。同じクラスのインスタンスを比較し、古いものを新しい値で更新します。

public class Student() 
{ 
    public string Name {get; set;} 
    public string Hobby {get; set;} 
    public string Country {get; set;} 
} 

Student old = new Student { Name = "A", Hobby = "Swim", Country = "HK" }; 
Student new = new Student { Name = "A", Hobby = "Jog", Country = "US" }; 

oldとnewが等しい場合は、比較し、そうでない場合は、異なるクラスの各フィールドを置き換えます。古い値を新しい値に更新するのと同じように。

If(old != new) 
{ 
    UpdateOldWithNew(old, new); 
} 
+0

たぶん、あなたは機能....これを行い作成する必要がありますか?ちょうど各部分を比較してください。 –

+0

https://msdn.microsoft.com/en-ca/library/ms173147(v=vs.90).aspx – Derek

+0

クラスの変更された値のみを更新する汎用関数ですか? – superhuman1314

答えて

0
Student student1 = new Student { Name = "A", Hobby = "Swim", Country = "HK" }; 
    Student student2 = new Student { Name = "A", Hobby = "Jog", Country = "US" }; 
    Student student3 = new Student { Name = "A", Hobby = "Swim", Country = "HK" }; 

    //reference equal 
    System.Debug.WriteLine(student1 == student2); //false 
    System.Debug.WriteLine(student1 == student3); //false 
    System.Debug.WriteLine(student1 == student1); //true 


    if(student1 != student2) 
    { 
     student1 = student2; 
    } 
関連する問題