Пример #1
0
 /// <summary>
 /// Список чисел в строку, с групперовкой последовательных номеров
 /// ints = 1, 2, 3, 4, 5, 7, 8, 10, 15, 16, 100, 101, 102, 103, 105, 106, 107, 109
 /// res = "1-8, 10, 15, 16, 100-107, 109"
 /// </summary>        
 public static string IntsToStringSequence(int[] ints)
 {
     var uniqints = ints.Distinct();
     string res = string.Empty;
     IntSequence seq = new IntSequence(uniqints.First());
     foreach (var n in uniqints.Skip(1))
     {
         if (!seq.AddInt(n))
         {
             SetSeq(ref res, ref seq);
             seq = new IntSequence(n);
         }
     }
     if (!seq.IsNull())
     {
         SetSeq(ref res, ref seq);
     }
     return res;
 }
Пример #2
0
        /// <summary>
        /// Список чисел в строку, с групперовкой последовательных номеров
        /// int's = 1, 2, 3, 4, 5, 7, 8, 10, 15, 16, 100, 101, 102, 103, 105, 106, 107, 109
        /// res = "1-8, 10, 15, 16, 100-107, 109"
        /// </summary>
        public static string IntsToStringSequence(int[] ints)
        {
            var uniqints = ints.Distinct().ToList();
            var res      = string.Empty;
            var seq      = new IntSequence(uniqints.First());

            foreach (var n in uniqints.Skip(1))
            {
                if (!seq.AddInt(n))
                {
                    SetSeq(ref res, ref seq);
                    seq = new IntSequence(n);
                }
            }

            if (!seq.IsNull())
            {
                SetSeq(ref res, ref seq);
            }

            return(res);
        }