目次

ニュース

日記カテゴリ

書庫

C#の練習用にDelegateを利用したFizzBuzz問題をやってみた。
なんかメソッドがことごとくstaticになってるんで、見た目はあまりよくはないですが…。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace DelegateFizzBuzz
{
    class Program
    {
        public static int[] FizzBuzzMap = 
           {3,  0,  0,  1,  0,  2,  1,  0,  0,  1,  2,  0,  1,  0,  0 };

        protected delegate void doFuzzBuzz(int n);

        public static void Other(int n)
        {
            Console.WriteLine(n);
        }

        public static void Fuzz(int n)
        {
            Console.WriteLine("Fuzz");
        }

        public static void Buzz(int n)
        {
            Console.WriteLine("Buzz");
        }

        public static void FuzzBuzz(int n)
        {
            Console.WriteLine("FuzzBuzz");
        }
        

        static void Main(string[] args)
        {
            doFuzzBuzz[] FizzBuzzFunc = 
            {
                new doFuzzBuzz( Other ),
                new doFuzzBuzz( Fuzz ),
                new doFuzzBuzz( Buzz ),
                new doFuzzBuzz( FuzzBuzz )
            };

            for (int i = 0; i < 100; i++)
            {
                FizzBuzzFunc[FizzBuzzMap[i % 15]](i);
            }
        }
    }
}
投稿日時 : 2008年2月4日 13:57
Feedback
No comments posted yet.
タイトル
名前
Url
コメント 

Blog 利用状況

  • 投稿数 - 67
  • 記事 - 0
  • コメント - 3373
  • トラックバック - 20

コミュニティ

プロファイル