public override int GetHashCode()
 {
     unchecked
     {
         var hashCode = DateTime.GetHashCode();
         hashCode = hashCode * 397 ^ (GpsTags != null ? GpsTags.GetHashCode() : 0);
         hashCode = hashCode * 397 ^ GeoLocation.GetHashCode();
         return(hashCode);
     }
 }
 public bool Equals(ImageMetaData other)
 {
     if (ReferenceEquals(null, other))
     {
         return(false);
     }
     if (ReferenceEquals(this, other))
     {
         return(true);
     }
     return(DateTime.Equals(other.DateTime) && GpsTags.SequenceEqual(other.GpsTags) && GeoLocation.Equals(other.GeoLocation));
 }