public class Cards:CollectionBase,ICloneable
{
  public object Clone()
 { 
  Cards newCards=new Cards();
  foreach(Card sourceCard in List)//此处List用法是啥意思
   {
     newCards.Add(source.Card.Clone()as Card);//此处为何要类型转换
    }
  return newCards;
 }

解决方案 »

  1.   

    List是个列表,里面是Card 类型记录,那句话的意思遍历List中的没一个元素估计newCards.Add需要Card类型变量,所以要转换
      

  2.   

    foreach(Card sourceCard in List)//遍历list里面的所有数据集
    newCards.Add(source.Card.Clone()as Card);//因为newCards.Add()函数类型是固定的
      

  3.   

    newCards.Add(source.Card.Clone()as Card);//此处为何要类型转换
    =============clone方法返回的是object类型,当然要转换为你想要的类型了
      

  4.   

    source.Card.Clone() 返回object
    newCards 中元素类型为Card 所以转换