- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我不确定我是否正确理解了 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
版本将返回 null
。 First
、Single
和 Last
之间的区别在于多个匹配的结果:Single
将抛出异常(exception),而 First
或 Last
将分别采用第一个或最后一个匹配项。
其中哪一个最合适取决于您想要做什么。
关于c# - 究竟如何使用 array.where?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10753160/
Feel free to skip straight to TL/DR if you're not interested in details of the question 简短的序言: 我最近决定
我一直在阅读 A Tour of Go学习Go-Lang到目前为止一切顺利。 我目前在 Struct Fields类(class),这是右侧的示例代码: package main import "fm
Last time I got confused顺便说一下PowerShell急切地展开集合,基思总结了它的启发式如下: Putting the results (an array) within a
我是一名优秀的程序员,十分优秀!