예제 #1
0
        internal static void Run()
        {
            var ar = CollectionUtils.CreateArray(5);

            //---------------------------------------------------
            ConsoleUtils.PrintHeader("foreach over array");

            foreach (var item in ar)
            {
                // cannot assign value to a foreach iteration variable
                // item = 0;
                Console.Write($"{item}, ");
            }

            //---------------------------------------------------
            ConsoleUtils.PrintHeader("foreach over list");

            var list = CollectionUtils.CreateList(5);

            foreach (var item in list)
            {
                // cannot assign value to a foreach iteration variable
                // item = 0;
                Console.Write($"{item}, ");
            }

            //---------------------------------------------------
            // continue statement
            ConsoleUtils.PrintHeader("continue statement");
            var sumOfOddNumbers = 0;

            foreach (var item in ar)
            {
                if (item % 2 == 0)
                {
                    continue;
                }
                sumOfOddNumbers += item;
            }
            Console.WriteLine($"Sun of odd numbers: {sumOfOddNumbers}");

            //---------------------------------------------------
            // NullReferenceException
            list = null;

            try
            {
                foreach (var item in list)
                {
                    Console.Write($"{item}, ");
                }
            }
            catch (NullReferenceException)
            {
                Console.WriteLine("Very, very bad!");
            }

            //---------------------------------------------------
            ConsoleUtils.PrintHeader("foreach over IEnumerable<int>");

            var enumerable = new ObjectWithIterableProps();

            foreach (var intValue in enumerable)
            {
                Console.Write($"{intValue}, ");
            }
        }
예제 #2
0
 public MultipleIntPropsEnumerator(ObjectWithIterableProps obj)
 {
     _obj = obj;
 }