21、选择正确的集合
22、确保集合的线程安全
Unity写服务器才需要用到多线程,暂时没研究过
23、避免将List<T>作为自定义集合类的基类
如果想让类拥有List的方法,不应该直接继承List<T> ,而是应该实现IEnumerable<T> ICollection<T>
也就是所说的面向抽象编程
24、迭代器应该是只读的
写迭代器,不要为迭代器设置可写属性,可能会对其他调用此迭代器的对象产生干扰
25、谨慎集合属性的可写操作
没看懂什么意思
26、使用匿名类型存储LINQ查询结果
List<Person> lists = new List<Person>()
{
new Person(){Name = "Rose",Age = 22},
new Person(){Name = "Jack",Age = 21},
new Person(){Name = "Ju",Age = 22}
};
//通过计算age的大小来获得新的属性AgeScope 并存入到一个匿名类型中
var temp = from p in lists select new { newName = p.Name, AgeScope = p.Age > 21 ? "Old" : "Young" };
foreach (var item in temp)
{
Console.WriteLine(item.newName+ ":" + item.AgeScope);
}
很方便