我需要檢查未知數量的布爾值..取決於結果它將執行相應的功能。 這裏是例子就是我尋找:如何檢查未知數量的布爾值c#
if(bool[x] && bool[y] && bool[z] ...)
myFunc();
我需要檢查未知數量的布爾值..取決於結果它將執行相應的功能。 這裏是例子就是我尋找:如何檢查未知數量的布爾值c#
if(bool[x] && bool[y] && bool[z] ...)
myFunc();
事情是這樣的:
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()
可以使用LINQ功能All()
:
var all = bool.All(x=>x == true);
if(all)
myFunc();
或者乾脆
var all = bool.All(x=>x);
if(all)
myFunc();
if (bool.Any(m => !m)
{
// At least one bool is false
}
else
{
// All bools are true
}
使用Linq檢查所有值是否符合謂詞。
if(bool.All())
如果x,y,z是有序的,你可以for循環例如做進去。 – Sjoerd222888