System.Net.CaseInsensitiveAscii.Compare C# (CSharp) Method

Compare() public method

public Compare ( object firstObject, object secondObject ) : int
firstObject object
secondObject object
return int
        public int Compare(object firstObject, object secondObject)
        {
            string firstString = firstObject as string;
            string secondString = secondObject as string;
            if (firstString == null)
            {
                return secondString == null ? 0 : -1;
            }
            if (secondString == null)
            {
                return 1;
            }
            int result = firstString.Length - secondString.Length;
            int comparisons = result > 0 ? secondString.Length : firstString.Length;
            int difference, index = 0;
            while (index < comparisons)
            {
                difference = (int)(AsciiToLower[firstString[index]] - AsciiToLower[secondString[index]]);
                if (difference != 0)
                {
                    result = difference;
                    break;
                }
                index++;
            }
            return result;
        }