/// <summary> /// Equals method. /// </summary> /// <param name="o"> /// A <see cref="System.Object"/> /// </param> /// <returns> /// A <see cref="System.Boolean"/> /// </returns> public override bool Equals(object o) { if (o.GetType() != this.GetType()) { return(false); } CheckVector vector = (CheckVector)o; int distance = this.Distance(vector); // The vectors are the same if the distance is zero return(distance == 0); }
/// <summary> /// Calculates the distance between <c>CharacteristicVector</c>s /// instances. /// </summary> /// <param name="vector"> /// The <c>CharacteristicVector</c> instance the invoking is going to /// be compared to. /// </param> /// <returns> /// The distance between vectors, as the number of differences between /// them. /// </returns> public int Distance(CheckVector vector) { int count = 0; if (values.Count != vector.Length) { throw new ArgumentException("Vector lengths aren't equal"); } for (int i = 0; i < values.Count; i++) { if (this.values[i] != vector.values[i]) { count++; } } return(count); }
/// <summary> /// Calculates the distance between <c>CharacteristicVector</c>s /// instances. /// </summary> /// <param name="vector"> /// The <c>CharacteristicVector</c> instance the invoking is going to /// be compared to. /// </param> /// <returns> /// The distance between vectors, as the number of differences between /// them. /// </returns> public int Distance(CheckVector vector) { int count=0; if(values.Count != vector.Length) { throw new ArgumentException("Vector lengths aren't equal"); } for(int i=0;i<values.Count; i++) { if(this.values[i]!=vector.values[i]) { count++; } } return count; }