C# 以增量0.50获取数据的linq查询
在我的数据库表xyz中有两个字段abc和pqr abc为C# 以增量0.50获取数据的linq查询,c#,C#,在我的数据库表xyz中有两个字段abc和pqr abc为1,2,3,4,5,6,7,8,pqr为12.11,13.13,14.12,15.12,16.14,17.12,18.21,19.12。现在我想在abc的基础上,以.5的增量获取记录 例如,如果1然后是12.11,1.5然后是1和2的avgof pqr,并且希望使用linq查询来执行此操作。以下行中的某个内容: private static void Main(string[] args) { var abc = new[] { 1, 2
1,2,3,4,5,6,7,8
,pqr为12.11,13.13,14.12,15.12,16.14,17.12,18.21,19.12
。现在我想在abc的基础上,以.5的增量获取记录
例如,如果1然后是12.11,1.5然后是1和2的avgof pqr,并且希望使用linq查询来执行此操作。以下行中的某个内容:
private static void Main(string[] args)
{
var abc = new[] { 1, 2, 3, 4, 5, 6, 7, 8 };
var pqr = new[] { 12.11, 13.13, 14.12, 15.12, 16.14, 17.12, 18.21, 19.12 };
var values = abc.Take(abc.Length - 1).ToDictionary(
o => 0.5 + o,
o => new[]
{
pqr.Skip(1).ToList()[o],
pqr.Take(pqr.Length - 1).ToList()[o]
}.Average());
abc.ToList().ForEach(o => values.Add(o, pqr[o]));
要显示值,请执行以下操作:
foreach (var value in values.Keys)
{
Trace.WriteLine(string.Format("Key:{0} Value:{1}", value, values[value]));
}
没有linq你是怎么做到的?您尝试了什么?我已经使用for循环完成了,但是执行查询需要时间。为什么不发布for循环呢?这会让我们对您希望实现的目标有更多的了解。使用LINQ与使用循环非常相似。它只是框架级的语法糖,真的。你能发布你使用的循环吗?另外,我不确定我是否看到这里的
abc
的相关性。这是一个连续的数字列表,还是一个坏例子?我们是否从该字段中读取“索引”编号,例如1
、1.5
等的来源?