0

私は次の声明を持っています:

foreach (var textBlock in scoresGrid.Children.OfType<TextBlock>().Where(three => three.Name.Contains("Three")))

どうすればそれを作ることができるのwhere name contain three or fourでしょうか?

助けてください。ありがとう

4

3 に答える 3

5

or||演算子を使用して、where 句の条件を結合します。

foreach (var textBlock in scoresGrid.Children.OfType<TextBlock>()
           .Where(three => three.Name.Contains("Three") || three.Name.Contains("Four")))
于 2013-01-15T07:37:11.237 に答える
3
string[] names = { "Three", "Four" } ;
foreach (var textBlock in scoresGrid.Children.OfType<TextBlock>()
                   .Where(tb => names.Any(name => tb.Name.Contains(name))))

また、 foreach ステートメントは読みにくいと思います。最初にフィルタリングされた textBlocks を取得します。次に、それらを繰り返します。

于 2013-01-15T07:39:04.087 に答える
1

論理演算子を使用できます。'||' の場合 >().Where(three => three.Name.Contains("Three") || three.Name.Contains("Four")))

于 2013-01-15T07:37:42.520 に答える