Exemplo n.º 1
0
            public override int GetHashCode(string obj)
            {
                if (obj == null)
                {
                    throw new ArgumentNullException(nameof(obj));
                }

                int length = DiagnosticIdPrefix.GetPrefixLength(obj);

                return(StringComparer.Ordinal.GetHashCode(obj.Substring(0, length)));
            }
Exemplo n.º 2
0
            public override bool Equals(string x, string y)
            {
                if (object.ReferenceEquals(x, y))
                {
                    return(true);
                }

                if (x == null)
                {
                    return(false);
                }

                if (y == null)
                {
                    return(false);
                }

                int length1 = DiagnosticIdPrefix.GetPrefixLength(x);
                int length2 = DiagnosticIdPrefix.GetPrefixLength(y);

                return(length1 == length2 &&
                       string.Compare(x, 0, y, 0, length1, StringComparison.Ordinal) == 0);
            }
Exemplo n.º 3
0
            public override int Compare(string x, string y)
            {
                if (object.ReferenceEquals(x, y))
                {
                    return(0);
                }

                if (x == null)
                {
                    return(-1);
                }

                if (y == null)
                {
                    return(1);
                }

                int length1 = DiagnosticIdPrefix.GetPrefixLength(x);
                int length2 = DiagnosticIdPrefix.GetPrefixLength(y);

                if (length1 == length2)
                {
                    return(string.Compare(x, 0, y, 0, length1, StringComparison.Ordinal));
                }

                int length = Math.Min(length1, length2);

                int result = string.Compare(x, 0, y, 0, length, StringComparison.Ordinal);

                if (result != 0)
                {
                    return(result);
                }

                return(length1.CompareTo(length2));
            }