iSynaptic.Commons.ArrayIndex.Increment C# (CSharp) 메소드

Increment() 공개 메소드

public Increment ( ) : void
리턴 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

예제 #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