読者です 読者をやめる 読者になる 読者になる

No more Death March

あるSEのチラシの裏 C# WPF

C# リファクタリング コレクションを変換

コレクションの内容を一定のルールに従って違う型に変換したい場合

        public void Hoge()
        {
            var list = new List<object>();
            list.Add(new object());
            list.Add(new object());
            list.Add(new object());
            list.Add(new object());
            list.Add(new object());

            var list2 = new List<int>();
            foreach(var obj in list)
            {
                list2.Add(obj.GetHashCode());
            }
        }

foreachを取り除くには

        public void Hoge()
        {
            var list = new List<object>();
            list.Add(new object());
            list.Add(new object());
            list.Add(new object());
            list.Add(new object());
            list.Add(new object());

            var list2 = new List<int>();
            list2.AddRange(list.ConvertAll<int>(x => x.GetHashCode()));
        }

ConvertAllメソッドを使ってやる。