2016年6月26日日曜日

yieldについて

MSDNにはyieldを使う例として
        static void Main(string[] args)
        {
            // Display powers of 2 up to the exponent of 8:
            foreach (int i in Power(2, 8))
            {
                Console.Write("{0} ", i);
            }
        }
public static System.Collections.Generic.IEnumerable<int> Power(int number, int exponent)
    {
        int result = 1;

        for (int i = 0; i < exponent; i++)
        {
            result = result * number;
            yield return result;
        }
    }
がのっていた。Listなら以下のようになる?

        public static List<int> Power(int number, int exponent)
        {
            int result = 1;
            List<int> rs = new List<int> { };
            for (int i = 0; i < exponent; i++)
            {
                result = result * number;
                rs.Add(result);
            }
            return rs;
        }


0 件のコメント:

コメントを投稿