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メソッドを使ってやる。