此处的专业名称,也有可能是作者自命名的名词,只为辅助理解,望周知。

数据结构相似的类型

数据结构相似的类型,并不是同一类型。它有如下特征:

  1. 不要求属性数量相同。
  2. 不要求属性类型相同,但要求属性类型相似(如果是基础类型,则要求相同)。
  3. 不要求类名相同。
  4. 所包含的属性,其属性名必须相同。

例如下列代码:
结论:T1和T2是数据结构相同的类型。
因为:他们的属性均有int类型的P1,和string类型的P2。
结论:T2和T3是数据结构相同的类型。
因为:虽然两者的属性数量不一致,但是均有int类型的P1,所以也属于结构类型相同,只不过在转换时,部分数据会丢失。
结论:T3和T4不是数据结构相同的类型。
因为:虽然两者的属性数量一致,且属性名一致,但是属性类型不同。
结论:T5和T6是数据结构相同的类型。
因为:虽然两者的属性类型不同,但是T1和T2是类型相似的,所以T5和T6也属于结构相同。

  1. public class T1
  2. {
  3. public int P1 { get; set; }
  4. public string P2 { get; set; }
  5. }
  6. public class T2
  7. {
  8. public int P1 { get; set; }
  9. public string P2 { get; set; }
  10. }
  11. public class T3
  12. {
  13. public int P1 { get; set; }
  14. }
  15. public class T4
  16. {
  17. public string P1 { get; set; }
  18. }
  19. public class T5
  20. {
  21. public T1 P1 { get; set; }
  22. }
  23. public class T6
  24. {
  25. public T2 P1 { get; set; }
  26. }