将对象集合转换为元组集合

时间:2015-07-06 20:26:31

标签: c# tuples extension-methods ienumerable

我有一组对象。我已经确定它有大量的物体。

Object1
Object2
Object3
Object4
Object5
Object6

我需要将集合转换为元组,就像这样

Tuple(Object1, Object2),
Tuple(Object3, Object4),
Tuple(Object5, Object6)

我一直试图为它提出一种扩展方法,但我还没弄明白。

public static IEnumerable<Tuple<T, T>> ToTuples(this IEnumerable<T> objects)
{
    // what do I do here?
}

1 个答案:

答案 0 :(得分:2)

这样的事可能吗?

  public static IEnumerable<Tuple<T, T>> ToTuples<T>(this IEnumerable<T> objects)
  {
     IEnumerator<T> enumerator = objects.GetEnumerator();
     while (enumerator.MoveNext())
     {
        T object1 = enumerator.Current;
        if (enumerator.MoveNext())
        {
           yield return Tuple.Create(object1, enumerator.Current);
        }
     }
  }