此处的专业名称,也有可能是作者自命名的名词,只为辅助理解,望周知。
数据结构相似的类型
数据结构相似的类型,并不是同一类型。它有如下特征:
- 不要求属性数量相同。
- 不要求属性类型相同,但要求属性类型相似(如果是基础类型,则要求相同)。
- 不要求类名相同。
- 所包含的属性,其属性名必须相同。
例如下列代码:
结论:T1和T2是数据结构相同的类型。
因为:他们的属性均有int类型的P1,和string类型的P2。
结论:T2和T3是数据结构相同的类型。
因为:虽然两者的属性数量不一致,但是均有int类型的P1,所以也属于结构类型相同,只不过在转换时,部分数据会丢失。
结论:T3和T4不是数据结构相同的类型。
因为:虽然两者的属性数量一致,且属性名一致,但是属性类型不同。
结论:T5和T6是数据结构相同的类型。
因为:虽然两者的属性类型不同,但是T1和T2是类型相似的,所以T5和T6也属于结构相同。
public class T1
{
public int P1 { get; set; }
public string P2 { get; set; }
}
public class T2
{
public int P1 { get; set; }
public string P2 { get; set; }
}
public class T3
{
public int P1 { get; set; }
}
public class T4
{
public string P1 { get; set; }
}
public class T5
{
public T1 P1 { get; set; }
}
public class T6
{
public T2 P1 { get; set; }
}