猿问

C#的IEumerable的用法

using System;
using System.Collections.Generic;

namespace yield_return
{
    class Program
    {
        static List<int> GetData()
        {
            return new List<int> {3,2,1,4};
        }
        static IEnumerable<int> List()
        {
            foreach (int i in GetData())
            {
                if (i > 2)
                {
                    yield return i;
                }
                yield break;
            }
        }
        static void Main(string[] args)
        {
            foreach (var item in List())
            {
                Console.Write(item);
            }
        }
    }
}

为什么要使用IEumerable

这样写不如写成数组:

using System;

class Program {
    static int[] myarr = new int[] { 1, 2, 3 };
    static void Method()
    {
        foreach (int i in myarr)
        {
            if (i > 2)
            {
                Console.Write(i);
            }
        }
    }
    static void Main(string[] args)
    {
        Method();
    }
}


Besthope
浏览 1599回答 1
1回答

一毛钱

IEumerable 是接口,数组类的都继承与他,你这样写也是可以的,就像所有的类型都继承与Object一样,你可以定义int a=0; 也可以写成object a=0;
随时随地看视频慕课网APP
我要回答