String[]与...相比重量轻list<string>.因此,如果我不需要操纵我的收藏品,我应该使用string[]还是总是可行的list<string>?
如果是list<string>,我们是否需要执行空检查或不需要?
Dar*_*rov 44
使用string[]时需要用静态数组的工作:你并不需要添加和删除元素-通过指数>只能访问元素.如果需要修改集合使用List<string>.如果您打算只遍历内容并且永远不会通过索引使用来访问IEnumerable<string>.
如果不应该修改集合,请使用string []甚至更好IEnumerable<string>.这表明字符串集合应被视为字符串的只读集合.
IEnumerable<string>在API中使用也可以在不破坏客户端代码的情况下更改底层实现.您可以轻松地使用字符串数组作为底层实现,并将其公开为IEnumerable<string>.如果稍后阶段的实现更适合使用列表或其他结构,只要它支持,您就可以更改它IEnumerable<string>.
我想说你自己总结得很好。
如果列表的大小不会改变,并且不需要任何高级列表功能(例如排序),那么 String[] 是更好的选择,因为正如您所说,它是轻量级的。
但考虑一下未来潜在的需求 - 是否有可能有一天您想要使用 List 来做某事?如果是这样,请考虑立即使用 List。
您需要检查 String[] 和 List 中是否为 null。两种类型都可以有空值。