如果需要所有字段,则需要它们.使用字典只会增加开销并产生额外的内存成本.字典方法在一些特定场景中可能是有用的,例如属性包实现和稀疏事件处理程序(因为事件是最明显的稀疏数据).
如果字段被稀疏地使用(即通常不超过几个使用),那么可能将相关字段推送到多个内部类(每组相关字段) - 即代替:
class Foo {
string userName;
int userId;
string orderReference;
DateTime orderDate;
...
}
Run Code Online (Sandbox Code Playgroud)
就像是:
class Foo {
class UserInfo { // move this outside if it makes sense to re-use it
public int Name {get;set;}
public int Id {get;set;}
}
UserInfo user;
class OrderInfo { // move this outside if it makes sense to re-use it
public string Reference {get;set;}
public string Date {get;set;}
}
OrderInfo order;
}
Run Code Online (Sandbox Code Playgroud)
然后,当您必须存储用户数据时,创建一个新的UserInfo; 如果您不需要用户数据,请保留usernull.
| 归档时间: |
|
| 查看次数: |
664 次 |
| 最近记录: |