由于类List<ProductInfo>实现了IList<ProductInfo>接口,那请问下面两种写法有何区别?
1、IList<ProductInfo> productsBySearch = new  List<ProductInfo>();
2、IList<ProductInfo> productsBySearch = IList<ProductInfo>(new List<ProductInfo>());

解决方案 »

  1.   

    第一种能使用List<ProductInfo>的方法和属性,而第二种又转化成了Ilist,只能使用Ilist的了吧。自己想的。
      

  2.   

    public interface Iconnect
    {
       void read();
       void write();
    }public class conn:Iconnect
    {
       public void read()
       {
          Console.WriteLine("实现read()方法");
       }   public void write()
       {
          Console.WriteLine("实现write()方法");
       }
    }方法一:
    用conn类的对象cn来访问接口方法:
    conn cn=new conn();
    cn.read();
    cn.write();方法二:
    将conn的对象转换为接口引用,然后访问接口方法:
    conn cn=new conn();
    Iconnect Icnn=(Iconnect)cn;
    Icnn.read();以上方法二怎么理解?