これに別の where 句を追加することは可能ですか、それとも別の foreach を作成する必要がありますか?
foreach (Point point in _Points.Where(x => x.Name == "Test"))
{
}
基本的に追加したいのは where x.name = "Test"
&& whereです!x.asset.StartsWith("INV")
同じ Where 句に入れるだけです。
foreach (Point point in _Points.Where(x => x.Name == "Test" && !x.Asset.StartsWith("INV"))
{
LINQ 演算子をチェーンすることもできます
foreach (Point point in _Points
.Where(x => x.Name == "Test")
.Where(x => !x.asset.StartsWith("INV")))
{
}
Where
1 つの式の中で多くのことをいじるよりも、連鎖した方が読みやすいと感じることがあります&&
。
この場合、改行を適切に行うと読みやすさが向上することにも注意してください。
はい、ここでもう 1 つとしてできます
foreach (Point point in _Points.Where(x => x.Name == "Test")
.Where(x=>!x.asset.StartsWith("INV")))
{
}
または行くほうがいい
foreach (Point point in _Points.Where(x => x.Name == "Test" && !x.asset.StartsWith("INV")))
{
}
上記はトリックを行いますが、あなたも行うことができます
_Points.Where( x => x.Name == "Test" && !x.Asset.StartsWith("INV")).ToList().ForEach(yourmethod());