c# - How can I transvers two collections to find out what objects are in one and not the other? -
this question has answer here:
i have following class:
public objectivedetail() public int objectivedetailid { get; set; } public int number { get; set; } public string text { get; set; } public override bool equals(object obj) { return this.equals(obj objectivedetail); } public bool equals(objectivedetail other) { if (other == null) return false; return this.number.equals(other.number) && ( this.text == other.text || this.text != null && this.text.equals(other.text) ); } }
i have 2 icollection collections:
icollection<objectivedetail> _obj1; // reference icollection<objectivedetail> _obj2; // may have more, less or different objectdetails reference.
the common field collections objectivedetailid. how can traverse collections for loop rows that:
- are in _obj2 , not _obj1
- are in _obj1 , not _obj2
- are different between _obj1 , _obj2
note similar question asked earlier think bit simpler have added equals method.
you can use foreach
foreach(objectivedetail obj in _obj1) { if (!(_obj2.contains(obj))) //add list }
just change logic in if statements , icollection rest of results.
Comments
Post a Comment