iSynaptic.Commons.ArrayIndex.Increment C# (CSharp) Method

Increment() public method

public Increment ( ) : void
return void
        public void Increment()
        {
            int currentRank = _Target.Rank - 1;
            int currentRankIndex = Index[currentRank];

            while (currentRank >= 0)
            {
                int upperBound = _Target.GetUpperBound(currentRank);
                currentRankIndex = Index[currentRank];

                if (currentRankIndex >= upperBound)
                {
                    if(currentRank == 0)
                        throw new IndexOutOfRangeException();

                    Index[currentRank] = 0;
                    currentRank--;
                }
                else
                    break;
            }

            Index[currentRank] = currentRankIndex + 1;
        }

Same methods

ArrayIndex::Increment ( int number ) : void

Usage Example

Esempio n. 1
0
        public void IncrementMultiple()
        {
            var idx = new ArrayIndex(new int[] { 1, 2, 3, 4, 5 });

            idx.Increment(3);
            Assert.IsTrue(idx.Index.SequenceEqual(new int[] { 3 }));

            Assert.Throws <IndexOutOfRangeException>(() => { idx.Increment(5); });

            Assert.IsTrue(idx.Index.SequenceEqual(new int[] { 3 }));
        }
All Usage Examples Of iSynaptic.Commons.ArrayIndex::Increment