示例#1
0
 public NaturalComparer(NaturalComparerOptions options = NaturalComparerOptions.None)
 {
     _ignoreCase                 = options.HasFlag(NaturalComparerOptions.IgnoreCase);
     _ignoreWhitespace           = options.HasFlag(NaturalComparerOptions.IgnoreWhiteSpace);
     _checkTrailingDecimalLength = options.HasFlag(NaturalComparerOptions.CheckTrailingDecimalLength);
     _lowercaseFirst             = options.HasFlag(NaturalComparerOptions.LowercaseFirst);
     _decimalPrecision           = options.HasFlag(NaturalComparerOptions.DecimalPrecision);
 }
示例#2
0
 public Natural(NaturalComparerOptions NaturalComparerOptions, NaturalComparerDirection Direction)
 {
     if (Direction == NaturalComparerDirection.Descending)
     {
         mSortAscending = false;
     }
     mNaturalComparerOptions = NaturalComparerOptions;
     mParser1 = new StringParser(this);
     mParser2 = new StringParser(this);
 }
示例#3
0
 public NaturalComparer(NaturalComparerOptions NaturalComparerOptions)
 {
     mNaturalComparerOptions = NaturalComparerOptions;
     mParser1 = new StringParser(this);
     mParser2 = new StringParser(this);
 }
示例#4
0
 /// <summary>インスタンスを初期化します。</summary>
 /// <param name="order">ソート方向を表す <see cref="NaturalSortOrder"/>。</param>
 /// <param name="options">比較方法を表す <see cref="NaturalComparerOptions"/>。</param>
 /// <param name="ignoreCharacter">無視する文字を表す char[]。</param>
 public NaturalComparer(NaturalSortOrder order, NaturalComparerOptions options, char[] ignoreCharacter)
 {
     this.SortOrder   = order;
     _ignoreCharacter = ignoreCharacter;
     this.Options     = options; // 最後に実行する必要がある
 }
示例#5
0
 /// <summary>インスタンスを初期化します。</summary>
 /// <param name="order">ソート方向を表す <see cref="NaturalSortOrder"/>。</param>
 /// <param name="options">比較方法を表す <see cref="NaturalComparerOptions"/>。</param>
 public NaturalComparer(NaturalSortOrder order, NaturalComparerOptions options)
     : this(order, NaturalComparerOptions.Default, new char[0])
 {
 }
示例#6
0
 public NaturalComparer(NaturalComparerOptions options = NaturalComparerOptions.None)
 {
     _ignoreCase       = options.HasFlag(NaturalComparerOptions.IgnoreCase);
     _ignoreWhitespace = options.HasFlag(NaturalComparerOptions.IgnoreWhiteSpace);
 }
示例#7
0
 public NaturalComparer(NaturalComparerOptions options)
 {
     _options = options;
     _parser1 = new StringParser(this);
     _parser2 = new StringParser(this);
 }
示例#8
0
        public void TestCompare(string left, string right, ComparerEquality expectedResult, NaturalComparerOptions options = NaturalComparerOptions.None)
        {
            var comparer = new NaturalComparer(options);

            DoTest(left, right, expectedResult, comparer);
        }