我正在使用C#语言在asp.net中创建一个网站。
我有9个清单。每个列表都有2列:ID为int类型,Value为int16类型。 ID是唯一的。
id,列表编号,值,得分
100,1,2,10
300,1,2,9
200,1,4,11
100,2,3,10.5
200,2,3,10
...
你建议我这样做吗?我对第一阶段的想法是在其中创建一个列表和存储ID,列表名称,值和分数(如上表所示),但我不知道如何进行第2阶段。
如果你能帮助我,我将不胜感激。 非常感谢
答案 0 :(得分:0)
我已根据您的要求实施了控制台应用代码。 这是工作代码。
首先按ID执行分组,然后汇总每组ID的分数 最终结果是ID& amp;此ID的分数总和。
using System;
using System.Linq;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
var records = new[] {
new Records{ID=100,ListNum=1,Value=2,Score=10},
new Records{ID=300,ListNum=1,Value=2,Score=9},
new Records{ID=200,ListNum=1,Value=4,Score=11},
new Records{ID=100,ListNum=2,Value=3,Score=10.5},
new Records{ID=200,ListNum=2,Value=3,Score=10}
};
var idScoreSumDictionary = records
.GroupBy(rec => rec.ID)
.ToDictionary(
rec => rec.Key,
rec => rec.Sum(x => x.Score)
);
foreach (var item in idScoreSumDictionary)
{
Console.WriteLine("ID: {0}",item.Key);
Console.WriteLine("Its Score Sum: {0}",item.Value);
}
}
}
class Records
{
public int ID { get; set; }
public int ListNum { get; set; }
public int Value { get; set; }
public double Score { get; set; }
}
}