System.util.ListIterator.HasNext C# (CSharp) Method

HasNext() public method

public HasNext ( ) : bool
return bool
        public bool HasNext() {
            return cursor != col.Count;
        }

Usage Example

Esempio n. 1
0
 /**
 * Generates a list of numbers from a string.
 * @param ranges the comma separated ranges
 * @param maxNumber the maximum number in the range
 * @return a list with the numbers as <CODE>Integer</CODE>
 */    
 public static ICollection<int> Expand(String ranges, int maxNumber) {
     SequenceList parse = new SequenceList(ranges);
     List<int> list = new List<int>();
     bool sair = false;
     while (!sair) {
         sair = parse.GetAttributes();
         if (parse.low == -1 && parse.high == -1 && !parse.even && !parse.odd)
             continue;
         if (parse.low < 1)
             parse.low = 1;
         if (parse.high < 1 || parse.high > maxNumber)
             parse.high = maxNumber;
         if (parse.low > maxNumber)
             parse.low = maxNumber;
         
         //System.out.Println("low="+parse.low+",high="+parse.high+",odd="+parse.odd+",even="+parse.even+",inverse="+parse.inverse);
         int inc = 1;
         if (parse.inverse) {
             if (parse.low > parse.high) {
                 int t = parse.low;
                 parse.low = parse.high;
                 parse.high = t;
             }
             for (ListIterator<int> it = new ListIterator<int>(list); it.HasNext();) {
                 int n = it.Next();
                 if (parse.even && (n & 1) == 1)
                     continue;
                 if (parse.odd && (n & 1) == 0)
                     continue;
                 if (n >= parse.low && n <= parse.high)
                     it.Remove();
             }
         }
         else {
             if (parse.low > parse.high) {
                 inc = -1;
                 if (parse.odd || parse.even) {
                     --inc;
                     if (parse.even)
                         parse.low &= ~1;
                     else
                         parse.low -= ((parse.low & 1) == 1 ? 0 : 1);
                 }
                 for (int k = parse.low; k >= parse.high; k += inc) {
                     list.Add(k);
                 }
             }
             else {
                 if (parse.odd || parse.even) {
                     ++inc;
                     if (parse.odd)
                         parse.low |= 1;
                     else
                         parse.low += ((parse.low & 1) == 1 ? 1 : 0);
                 }
                 for (int k = parse.low; k <= parse.high; k += inc)
                     list.Add(k);
             }
         }
     }
     return list;
 }
All Usage Examples Of System.util.ListIterator::HasNext