我想使用LINQ GroupBy获取列中每个项目的计数,但是我没有获得预期的输出。 示例:
NAME | Items | Items2
1.ken | asd | zxc
2.kent | null | zwe
3.ken | qwe | null
预期产出:
NAME | Items | Items2
ken | 2 | 1
kent | 0 | 1
代码:
var Data=Items.GroupBy(z=>z.Name).Select(s=>new { Name=s.Key, Items=s.Count(q=>q.Items),Items2=s.Count(x=>x.Items2) }).ToList();
以上代码无效。
答案 0 :(得分:2)
我认为count()
在Count()
中的预期输出中会产生问题,因此我建议您在null
中添加条件以排除那些具有var Data=Items.GroupBy(z=>z.Name)
.Select(s=>new {
Name=s.Key,
Items=s.Count(q=>q.Items!=null),
Items2=s.Count(x=>x.Items2!=null) })
.ToList();
值的项目。所以你的查询将如下所示:
<input type="text" name="num1" id="num1" onkeyup="sum()">
<input type="text" name="num2" id="num2" onkeyup="sum()">
<input type="text" name="num2" id="result">
<script>
function sum()
{
var number1 = document.getElementById('num1').value;
var number2 = document.getElementById('num2').value;
if (number1 == '') {
number1 = 0
var num3 = parseInt(number1) + parseInt(number2);
document.getElementById('result').value = num3;
}
else if(number2 == '')
{
number2 = 0;
var num3 = parseInt(number1) + parseInt(number2);
document.getElementById('result').value = num3;
}
else
{
var num3 = parseInt(number1) + parseInt(number2);
document.getElementById('result').value = num3;
}
}
</script>