Skip to main content
 首页 » 编程设计

c#之使用哪个通用集合

2024年01月13日35wuhuacong

我有 2 个独立的类:

  • 区域属性
  • 字段属性

1个AreaProperties可以映射到1个FieldProperties。在不更改设计的情况下,我想要一个返回 List<> 的方法这些对象

C# 中的哪种泛型集合合适?

我知道我可以发送 2 个列表,函数如下所示:

public List<AreaProperties> Save(ref List<FieldProperties>) 
{ 
    ..code 
} 

编辑: Dror Helper 的解决方案听起来不错。但是最近发现FieldProperties和AreaProperties并不是1:1的。 我现在该如何处理。我仍然想使用具有 FieldProperties 和 AreaProperties 对象的自定义类,但我将如何处理一对多场景?

请您参考如下方法:

您可以创建一个具有两个成员的类/结构 - AreaProperties 和 FieldProperties 并返回该类的列表

class Pair<T1, T2> 
{ 
     T1 t1; 
     T2 t2; 
} 
 
List<Pair<AreaProperties, FieldProperties>> Save(){ ...} 

或者改用 System.Collections.Generic.KeyValuePair(根据 Patrick 下面的建议)

List<KeyValuePair<AreaProperties, FieldProperties>> Save(){ ... } 

这样您也可以保持 1..1 关系。

编辑: 如果你需要 1..n 关系,我想你想返回 List>> 而不是这样,您可以获得每个 AreaProperties 的 Field Properties 列表,并且您仍然保持它们之间的关系。