Quite often you need to return from method 2 values that describe the range, e.g. From/To or Min/Max. You could use standard MS classes Pair or Tuple https://msdn.microsoft.com/en-us/library/system.tuple.aspx. However the names of properties are not describe the meaning of the values.
So I am using own class FromToRange. It is done similar to Pair(from http://blog.o-x-t.com/2007/07/16/generic-pair-net-class/)
///<summary> /// similar to Pair(from http://blog.o-x-t.com/2007/07/16/generic-pair-net-class/" ///See also DateTimeRange ( https://github.com/MNF/CommonDotNetHelpers/blob/master/src/Dates/DateTimeRange.cs) ///</summary> public class FromToRange { public T From { get; set; } public T To { get; set; } public FromToRange() { } public FromToRange(T from, T to) { this.From = from; this.To = to; } public override string ToString() { string sRet = String.Format("From {0} to {1}", From, To); return sRet; } public override bool Equals(object obj) { if (this == obj) return true; FromToRange pair = obj as FromToRange; if (pair == null) return false; return Equals(From, pair.From) && Equals(To, pair.To); } public override int GetHashCode() { return (From != null ? From.GetHashCode() : 0) + 29 * (To != null ? To.GetHashCode() : 0); } }