私は以下のクラスを持って行き方: - 私は何をしたい2を比較して、ものを得ることですLINQでの2つのクラスを比較 - 「不一致」
public class DocumentCompare
{
public string Customer;
public string Filename;
public string Reference;
public DateTime? Date;
public override bool Equals(object obj)
{
if (obj == null)
return false;
DocumentCompare doc = obj as DocumentCompare;
if ((Object)doc == null)
return false;
return (doc.Customer == Customer) && (doc.Date == Date) && (doc.Filename == Filename) && (doc.Reference == Reference);
}
public bool Equals(DocumentCompare doc)
{
if ((object)doc == null)
return false;
return (doc.Customer == Customer) && (doc.Date == Date) && (doc.Filename == Filename) && (doc.Reference == Reference);
}
public override int GetHashCode()
{
return string.Format("{0}_{1}_{2}_{3}",Customer,Filename,Reference,(Date == null ? "" : Date.Value.ToString())).GetHashCode();
}
}
私は、このクラスの2つのリストを取得しますが、両方に存在しないしたがって、アイテムがxリストに存在し、yに存在しない場合、このリスト内のアイテムに対してアクションを実行したいと思います。アイテムがyリストに存在するがxに存在しない場合、別のアクションを実行したい。
どうすればよいですか? LINQを使うと思います!
EDIT:パフォーマンス問題の多くではありません - これは一度だけ
+1徹底的に同意する3:通常、デフォルトの参照平等のままにするか、または代理キーを導入し、絶対に必要な場合はそれを比較することをお勧めします – MattDavey
ありがとうございます - これは最高の解決策ではないことがわかりますが、 – Chris