gpt4 book ai didi

c# - 究竟如何使用 array.where?

转载 作者:行者123 更新时间:2023-12-02 03:18:52 24 4
gpt4 key购买 nike

我不确定我是否正确理解了 array.where() 的工作原理。我有一个充满 Spectrum.cs 对象的数组。每个光谱都包含一个文件名属性。

mySpectrum.文件名;//字符串

现在我有一个字符串值,我想将它与数组中的每个对象进行比较,以了解它是否具有相同的文件名。据我了解,它应该像这样工作:

Spectrum bgSpec = new Spectrum(); //Has a filename
Spectrum[] currentSpectra; //Array filled with Spectra

//Somehow this doesn't seem to work. Propably due to the returnvalue for where() which seems //to be IEnumerable.
Spectrum tempSpectrum = currentSpectra.Where<Spectrum>(c => c.filename == bgSpec);

我可能一切都错了,如果有人能指出它是什么或如何做正确,我将非常感激。

提前致谢,BC++

最佳答案

您似乎正在寻找满足该条件的单个值。所以也许使用 Single :

var tempSpectrum = currentSpectra.Single(c => c.filename == bgSpec.filename);

其他选项:

如果没有匹配的元素,OrDefault 版本将返回 nullFirstSingleLast 之间的区别在于多个匹配的结果:Single 将抛出异常(exception),而 FirstLast 将分别采用第一个或最后一个匹配项。

其中哪一个最合适取决于您想要做什么。

关于c# - 究竟如何使用 array.where?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10753160/

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