gpt4 book ai didi

c# - 在 C# 中使用自定义集合的元素指标

转载 作者:行者123 更新时间:2023-11-30 14:32:11 24 4
gpt4 key购买 nike

鉴于我需要能够在某个时候访问所有数据类的某些指标,我正在尝试找出组织一堆数据类的最佳方法。

这是我的 OR 类的片段:

public enum status { CLOSED, OPEN }

public class OR
{
public string reference { get; set; }
public string title { get; set; }
public status status { get; set; }
}

并非我初始化的每个 OR 都具有所有属性的值。我希望能够以这样一种方式“收集”数以千计的这些对象,以便我可以轻松地计算出有多少个 OR 对象具有一个值集。例如:

OR a = new OR() { reference = "a" }
OR b = new OR() { reference = "b", title = "test" }
OR c = new OR() { reference = "c", title = "test", status = status.CLOSED }

现在这些以我能做的方式以某种方式收集(伪):

int titleCount = ORCollection.titleCount;
titleCount = 2

我还希望能够收集枚举类型属性的指标,例如从集合中检索一个 Dictionary,如下所示:

Dictionary<string, int> statusCounts = { "CLOSED", 1 }

想要访问这些指标的原因是我正在构建两个 OR 集合并并排比较它们是否存在差异(它们应该相同)。我希望能够首先在这个更高的层次上比较他们的指标,然后在他们不同的地方进行分割。

感谢您提供有关如何实现此目标的任何信息。 :-)

最佳答案

... to 'collect' thousands of these

几千不是一个很大的数字。只需使用 List<OR>您可以使用 Linq 查询获取所有指标。

例如:

List<OR> orList = ...;

int titleCount = orList
.Where(o => ! string.IsNullOrEmpty(o.title))
.Count();

Dictionary<status, int> statusCounts = orList
.GroupBy(o => o.status)
.ToDictionary(g => g.Key, g => g.Count());

关于c# - 在 C# 中使用自定义集合的元素指标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18822626/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com