私は、各要素が整数のリストであるListを持っています。 LINQを開発して各リストの== 0になる整数の数を数えたいと思います。各外側のリスト内の選択された項目の数
だから、すべてゼロなので、私は、n個の整数のn個のリストが含まれているリストを作っ
var prisoners = new List<List<int>>(n);
for (int c = 0; c < n; c++)
{
int[] l = new int[n];
prisoners.Add(new List<int>());
prisoners[c] = l.ToList<int>();
}
私のリストを定義する - どのような私が興味を持っていますが、各リストにおけるゼロの数、および特に最小でありますそのカウントは、私がリストで作業するまで、最初はnです。
私は今の問題は、リストがすべてで、それにはゼロを持っていないとき、それは、クエリを残していることがあるようです、と私は答えはゼロを得ることはありません
var q = (from arr in prisoners from int tally in arr
where tally == 0
group arr by arr into grp select grp.Count()).Min();
を思い付きました。最初は答えが「n」(すべてゼロのとき)です。リストにゼロがなければ、MINIMUMカウントがゼロの場合は答えがゼロになりません。
リストに含まれているリストの中で、ゼロの最小カウントを見つける方法はありますか? (最終的にゼロになります)。すべてのリストがグルーピングに入るようにする必要があります。次に、いくつのゼロがあるのかを数えますが、どうやってそれを行うのか分かりません。
例
int n = 3;
var prisoners = new List<List<int>>(n);
for (int c = 0; c < n; c++)
{
int[] l = new int[n];
prisoners.Add(new List<int>());
prisoners[c] = l.ToList<int>();
}
//return 3 below - that is correct at this point
var q = (from arr in prisoners from int tally in arr where tally == 0 group arr by arr into grp select grp.Count()).Min();
prisoners[1] = (new int[] { 1, 1, 1 }).ToList();
prisoners[2] = (new int[] { 1, 1, 0 }).ToList();
//so now one of the arrays has zero zeroes in it, but I get the answer 1 - zero was wanted, that is to say
//element 1 has a zero count of zero
q = (from arr in prisoners from int tally in arr where tally == 0 group arr by arr into grp select grp.Count()).Min();
入力例と出力例を表示できますか? – Jamiec
あなたのクエリは期待どおりに機能しています。最初に '== 0'でフィルタリングしてからカウントするので、終了します。 – Jaya
@JS_GodBlessAll - クエリが誤った結果を返すと言っているわけではありませんが、それは私が望むものではありません - 各配列内のゼロの数を数え、 – Cato