Search on the blog

2014年6月3日火曜日

C#入門(2)ISet

C++のset、unsorted_setに相当するものを使ってみた。
C#だとSortedSet、HashSetというコレクションが用意されている。ISetというインターフェースがあるので、参照にはISet型を使った。
どうやらコレクションのインターフェースは大文字の"I"から始まるらしい。
あとメソッドの頭文字は大文字にするのが慣例らしい。メソッドは、というか、引数以外は頭文字を大文字にするのが慣例らしい。ローカル変数も引数と同じでCamel Casingにするのが一般的っぽい。
using System;
using System.Collections.Generic;

namespace sample
{
    public class SetSample
    {
        public static void Main(string[] args) {
            ISet<int> st1 = new HashSet<int>();
            ISet<int> st2 = new HashSet<int>();

            for (int i = 0; i < 30; i++) {
                st1.Add(2 * i);
                st2.Add(3 * i);
            }

            st1.IntersectWith(st2);

            // print multiples of both 2 and 3
            foreach (int x in st1) {
                Console.WriteLine("{0}", x);
            }

            ISet<int> st3 = new SortedSet<int>();
            Random rand = new Random();
            for (int i = 0; i < 100; i++)
                st3.Add(rand.Next(1000000));

            foreach (int x in st3) {
                Console.WriteLine("{0}", x);
            }

        }
    }
}

んー、C#の勉強はじめたけど方向性あってるのだろうか。ASP.NETの勉強したほうがいいような...。ASP.NETで書かれた綺麗なコードを読みたい。


0 件のコメント:

コメントを投稿