回答編集履歴

1

Zipについて

2019/02/16 16:45

投稿

tamoto
tamoto

スコア4110

test CHANGED
@@ -43,3 +43,39 @@
43
43
 
44
44
 
45
45
  目的がもっと具体的だったらもう少し意図に沿ったものが作れる気はします。
46
+
47
+
48
+
49
+ ---
50
+
51
+
52
+
53
+ 追記
54
+
55
+ .NET Framework 3.5以下でZipメソッドが使えないということが分かったので、以下のようにZipを自前で実装することはできます。
56
+
57
+
58
+
59
+ ```csharp
60
+
61
+ internal static class MyLinqExtensions
62
+
63
+ {
64
+
65
+ public static IEnumerable<TResult> Zip<TFirst, TSecond, TResult>(this IEnumerable<TFirst> first, IEnumerable<TSecond> second, Func<TFirst, TSecond, TResult> resultSelector)
66
+
67
+ {
68
+
69
+ using (var firstEnumerator = first.GetEnumerator())
70
+
71
+ using (var secondEnumerator = second.GetEnumerator())
72
+
73
+ while (firstEnumerator.MoveNext() && secondEnumerator.MoveNext())
74
+
75
+ yield return resultSelector(firstEnumerator.Current, secondEnumerator.Current);
76
+
77
+ }
78
+
79
+ }
80
+
81
+ ```