rp.*_*rp. 7 c# arrays generics collections
我有一个类Customer(具有典型的客户属性),我需要传递和数据绑定,一个"块"的Customer实例.目前我使用的数组Customer,但我也用Collection的T(和List的T之前,我知道Collection的T).我想用最简洁的方法来使用C#和.NET 3.5传递这个块.
目前,这个阵列Customer对我来说工作得很好.它的数据绑定得很好,似乎也很轻巧.我不需要的东西List的T报价和Collection的T似乎仍然有点小题大做.数组确实要求我提前知道Customer我要添加多少块,但我总是提前知道(例如,在页面中给定行).
我错过了一些基本的东西,还是一堆Customer好的?我缺少一个权衡吗?
另外,我假设Collection的T让老松散类型ArrayList过时.我在那儿吗?
没有人提到框架指南建议:不要List<T>在公共 API 中使用:
\n\n\n我们不建议在公共 API 中使用 List,原因有两个。
\n\n\n
\n- \n
List<T>不是为了扩展而设计的。即您不能覆盖任何\n 成员。例如,这意味着List<T>当集合被修改时,从属性返回的对象\n\xe2\x80\x99 无法收到通知。\nCollection<T>允许您覆盖\n SetItem 受保护成员以获取\n \ xe2\x80\x9cnotified\xe2\x80\x9d 当添加新项目\n或更改现有项目时。- \n
列表有很多在许多情况下不相关的成员。我们说这
List<T>对于公共对象模型来说太\xe2\x80\x9cbusy\xe2\x80\x9d。想象一下 ListView.Items 属性返回List<T>其丰富的内容。现在,看看实际的ListView.Items返回类型;它\xe2\x80\x99s 更简单,\n 类似于Collection<T>or\nReadOnlyCollection<T>
另外,如果您的目标是双向数据绑定,请查看BindingList<T>(需要注意的是它不可“开箱即用”排序!)
| 归档时间: |
|
| 查看次数: |
3702 次 |
| 最近记录: |