質問編集履歴

1

修正

2018/12/02 07:49

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -43,3 +43,37 @@
43
43
  あと、uniqueの要素を回すのにForEachを使おうとしたら、使えなかったので、間にToList()をかましましたが、
44
44
 
45
45
  IEnumerableを回す方法はこれが最適ですか?もっと簡潔に書ける方法がありましたらご教示お願い致します。
46
+
47
+
48
+
49
+ ### ご回答を受けてメモ。
50
+
51
+
52
+
53
+ ```C#
54
+
55
+ void Start () {
56
+
57
+ int[] arr1 = new int[]{1,2,3,4,5};
58
+
59
+ int[] arr2 = new int[]{2,4,6,8};
60
+
61
+ IEnumerable<int> intersect = arr1.Intersect(arr2); //2,4
62
+
63
+ IEnumerable<int> union = arr1.Union(arr2); //1,2,3,4,5,6,8
64
+
65
+ IEnumerable<int> xor = union.Except(intersect); //1,3,5,6,8
66
+
67
+ xor.ToList().ForEach(x=>Debug.Log(x));
68
+
69
+ }
70
+
71
+ ```
72
+
73
+
74
+
75
+ [UnionとConcatの違い](https://qiita.com/i-tanaka730/items/3e6b560e80f1395ae8ea)は、
76
+
77
+ Union(和集合)は、コレクション同士を連結する。ただし、重複するデータがある場合は1件のみに絞られる。
78
+
79
+ Concat(和集合)は、コレクション同士を連結する。ただし、重複するデータがある場合もそのまま連結する(Union Allのイメージ)。