将数据从IEnumerable传递到另一个IEnumerable C#

时间:2013-06-27 15:06:52

标签: asp.net-mvc-3 ienumerable

我有2个iCollections如下: -

ICollection 1

public class ClassA : List<ClassC>, IEnumerable<SqlDataRecord>
{
    IEnumerator<SqlDataRecord> IEnumerable<SqlDataRecord>.GetEnumerator()
    {
        var sdr = new SqlDataRecord(
            new SqlMetaData("A", System.Data.SqlDbType.Int)
            );

        foreach (ClassC ei in this)
        {
            sdr.SetInt32(0, ei.A);

            yield return sdr;
        }
    }
}

ICollection 2

public class ClassB : List<ClassC>, IEnumerable<SqlDataRecord>
{
    IEnumerator<SqlDataRecord> IEnumerable<SqlDataRecord>.GetEnumerator()
    {
        var sdr = new SqlDataRecord(
            new SqlMetaData("A", System.Data.SqlDbType.Int),
new SqlMetaData("B", System.Data.SqlDbType.Int)
            );

        foreach (ClassC ei in this)
        {
            sdr.SetInt32(0, ei.A);
sdr.SetInt32(0, ei.B);

            yield return sdr;
        }
    }
}

如何将ClassB的数据传递给ClassA,即ICollection 2和ICollection 1?

此致 阿布舍克巴克

1 个答案:

答案 0 :(得分:0)

  ClassA a = new ClassA();
  ClassB b = new ClassB();
  // fill a and b
  a.AddRange(b);

或者我错过了什么?