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

CanIncrement() public method

public CanIncrement ( ) : bool
return bool
        public bool CanIncrement()
        {
            int currentRank = _Target.Rank - 1;
            while (currentRank >= 0)
            {
                int upperBound = _Target.GetUpperBound(currentRank);
                int currentRankIndex = Index[currentRank];

                if (currentRankIndex < upperBound)
                    return true;

                currentRank--;
            }

            return false;
        }

Usage Example

        public void EmptyArray()
        {
            var idx = new ArrayIndex(new int[] { });
            Assert.IsTrue(idx.Index.SequenceEqual(new int[] { 0 }));

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

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