Esempio n. 1
0
        /// <summary>Returns a <see cref="StringComparer"/> that makes case-insensitive comparisons using the specified rule.</summary>
        public static IrcStringComparer GetComparer(CaseMappingMode mode)
        {
            switch (mode)
            {
            case CaseMappingMode.ASCII: return(IrcStringComparer.ASCII);

            case CaseMappingMode.RFC1459: return(IrcStringComparer.RFC1459);

            case CaseMappingMode.StrictRFC1459: return(IrcStringComparer.StrictRFC1459);

            default: throw new ArgumentException(nameof(mode) + " is not a valid case mapping mode.", nameof(mode));
            }
        }
Esempio n. 2
0
        internal IrcStringComparer(CaseMappingMode mode)
        {
            switch (mode)
            {
            case CaseMappingMode.ASCII:
                maxUppercase = 'Z';
                maxLowercase = 'z';
                break;

            case CaseMappingMode.RFC1459:
                maxUppercase = '^';
                maxLowercase = '~';
                break;

            case CaseMappingMode.StrictRFC1459:
                maxUppercase = ']';
                maxLowercase = '}';
                break;

            default:
                throw new ArgumentException(nameof(mode) + " is not a valid case mapping mode.", nameof(mode));
            }
        }