Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/302.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 以增量0.50获取数据的linq查询_C# - Fatal编程技术网

C# 以增量0.50获取数据的linq查询

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

在我的数据库表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, 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
等的来源?