比如有一个表,products,有以下几个字段:
product_id int,
product_name varchar(50)为这个表定义实体类,下面两个哪个好:
class Product
{
private int _id;
private string name; public int ID
{
get{...}set{...}
}
public int Name
{
get{...}set{...}
}
}
struct Product
{
private int _id;
private string name; public int ID
{
get{...}set{...}
}
public int Name
{
get{...}set{...}
}
}
product_id int,
product_name varchar(50)为这个表定义实体类,下面两个哪个好:
class Product
{
private int _id;
private string name; public int ID
{
get{...}set{...}
}
public int Name
{
get{...}set{...}
}
}
struct Product
{
private int _id;
private string name; public int ID
{
get{...}set{...}
}
public int Name
{
get{...}set{...}
}
}
2、它的属性上有定义完整的公共接口来访问或者修改数据成员吗?
3、我对类型决不会有子类自信吗?
4、我对类型决不会有多态性自信吗?上面是 <Effective C#>里的
如果只是存储数据,不设计继承,多态,可以用Struct
按这4条,肯定选 struct,但我看一些代码,好像都是类,
有的是用 DataRow 充当实体类,也有自定义实体类的,
用的是 class 不是 struct。
好像不用太担心这个,除非这个 struct 内部有很多值类型的字段。
....................
struct用于数据量小