为啥我这用IEnumerable可以获取数据,但是用List类型去获取不到 本帖最后由 SCAUSCNU 于 2013-11-06 22:29:13 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 //这里得到的products1.count=0,请问是为什么因为你没有往products1里面添加元素,你添加到products1.Products了products1.Products.Count = 1 List<Product> products1 = new ShoppingCart();products1.Add(new Product {Name = "Kayak", Category = "Watersports", Price = 275M});...这样才行。 List<Product> products1 = new ShoppingCart { Products //你在往这里添加,不是products1 public IEnumerator<Product> GetEnumerator() { return Products.GetEnumerator(); }如果你写 public IEnumerator<Product> GetEnumerator() { return this.GetEnumerator(); }那么你也得不到了。你返回的是Products属性的GetEnumerator。 products1.后面的属性只有Count,没有products1.Products.Count啊 ShoppingCart.Products。count是4个,搞不明白已转化为List类型就变为0个了 (products1 as ShoppingCart).Count (products1 as ShoppingCart).Products.Count 给你绕进去了。我之前说的你没看明白么?你没有往products1添加,你添加到products1.Products里面了。当然products1.Count=0 楼主自己绕晕了,ShoppingCart 和 ShoppingCart.Products 都有 Count ,楼主 new 的时候用的后者,取 Count 又用前者,当然错误了,根本不需要继承的。 【求助】C# WinForm 如何获取网页登录验证码 请问Lamda表达式都必定具有返回值吗? C#winform中如何实现类似树的功能? C#窗体带数据库打包 System.invalidOperationExecption这个异常是什么意思 求思路,生成复杂PDF 怎么实现打一个字就索引全文! 怎么获得一个MDI子窗体的焦点 如何知道点击的是datagrid的rowhead? 请教.net中Crystal报表运用的问题 请教在json字符串中取出某个节点的某个值的问题 关于Windows访问C盘文件问题
因为你没有往products1里面添加元素,你添加到
products1.Products了
products1.Products.Count = 1
products1.Add(new Product {Name = "Kayak", Category = "Watersports", Price = 275M});
...
这样才行。
{
Products //你在往这里添加,不是products1
{
return Products.GetEnumerator();
}如果你写
public IEnumerator<Product> GetEnumerator()
{
return this.GetEnumerator();
}
那么你也得不到了。你返回的是Products属性的GetEnumerator。