gpt4 book ai didi

c# - 使用 LINQ,我能否验证一个属性对所有对象都具有相同的值?

转载 作者:IT王子 更新时间:2023-10-29 04:15:11 24 4
gpt4 key购买 nike

我有一个 Crate 对象,它有一个 KeyValuePairs 列表。目前,我正在遍历每一对以查看列表中所有项目的 kvp.Value.PixelsWide 是否相同。如果是,则返回 true,否则返回 false。

我现有的方法如下:

public bool Validate(Crate crate)
{
int firstSectionWidth = 0;
foreach (KeyValuePair<string, SectionConfiguration> kvp in crate.Sections)
{
if (firstSectionWidth == 0)//first time in loop
{
firstSectionWidth = kvp.Value.PixelsWide;
}
else //not the first time in loop
{
if (kvp.Value.PixelsWide != firstSectionWidth)
{
return false;
}
}
}

return true;
}

我很好奇这是否可以在 LINQ 查询中执行?

在此先感谢您的帮助!

最佳答案

我相信这会奏效:

public bool Validate(Crate crate)
{
return crate.Sections
.Select(x => x.Value.PixelsWide)
.Distinct()
.Count() < 2;
}

如果 crate.Sections 为空以及元素都相同(这是您当前函数的行为),这将返回 true。

关于c# - 使用 LINQ,我能否验证一个属性对所有对象都具有相同的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5478681/

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