У меня есть словарь массивовПодсчета ненулевого значения в словаре массивов с помощью LINQ
public static void Main(string[] args)
{
Dictionary<string, int[]> ret = new Dictionary<string, int[]>();
int[] a = {1,0,3,4,0};
int[] b = { 3, 0, 9, 10, 0};
int[] c = {2,3,3,5,0};
ret.Add("Jack", a);
ret.Add("Jane", b);
ret.Add("James", c);
}
Если я хочу сделать операцию на счете колонка, такие как v*column count
я бы сделать это:
Dictionary<string, double[]> colcnt = ret.ToDictionary(r => r.Key,
r => r.Value.Select(v => v == 0 ? 0 :
(double)v/(ret.Values.Count()) //equation
).ToArray());
Что такое код LINQ для выполнения операций, таких как подсчет строк с не нулями?
Если я использую цикл, чтобы сосчитать их было бы
foreach (var item in ret)
{
int vals= item.Value.Count(s => s != 0);
}
Так что, если бы я сделать v/column count
тогда все элементы a
будут разделены на 3, все элементы в b
будут разделены на 3 и все предметы в c
будут разделены на 4
Почему ваш код не достаточен? Вы используете linq довольно хорошо. –
Вы хотите общее количество всех строк или массив строк? –
@MatthewWatson count строк (исключая значения с 0) – ccsv