3

不明な数のブール値を確認する必要があります..結果に応じて、適切な機能を実行します。これが私が探しているものの例です:

if(bool[x] && bool[y] && bool[z] ...)
   myFunc();
4

5 に答える 5

4

そのために使えますLINQ

すべてのブール値を真にする必要がある場合は、次を使用できますAny

if (bools.All(b => b))

たとえば、そのうちの 4 つが正確​​である必要がある場合は、次を使用できますCount

if (bools.Count(b => b) == 4)

または、少なくとも 1 つ、Any

if (bools.Any(b => b))
于 2015-06-13T15:33:39.787 に答える
1

LINQ関数を使用できますAll()

var all = bool.All(x=>x == true);
if(all)
    myFunc();

または単に

var all = bool.All(x=>x);
if(all)
    myFunc();
于 2015-06-13T15:32:56.963 に答える
0
if (bool.Any(m => !m)
{
    // At least one bool is false
}
else
{
    // All bools are true
}
于 2015-06-13T15:34:13.820 に答える
0

Linqを使用して、すべての値が述語を満たしていることを確認します。

if(bool.All())

于 2015-06-13T15:35:04.560 に答える
0

このようなもの:

var all=true;
for (var i=x; i<z; i++) if (!bool[i]) {all=false; break;}
if (all) myFunc()

または、x, y, z連続していない場合は、リストまたは配列に入れます。

int[] indices = new [] {x, y, z};

そして、次のように繰り返します。

var all=true;
foreach (var i in indices) if (!bool[i]) {all=false; break;}
if (all) myFunc()
于 2015-06-13T15:31:40.693 に答える