pun*_*eet 6 c# arrays multidimensional-array data-structures
我有一个服务,提取以下数据
Func(List<symbols>,List<fields>,StartDate,EndDate)
Run Code Online (Sandbox Code Playgroud)
它将返回一个3维数组值.
Sym1 field1 field2 field3
Sym2 field1 field2 field3
Date1
Date2
Date3
Run Code Online (Sandbox Code Playgroud)
即x轴是字段,y轴是符号,z轴是日期.
我还以字典的格式缓存了一些上述值(我之前提到的)
<Date<Symbol<field,value>>>
Run Code Online (Sandbox Code Playgroud)
该服务根据将返回的每个数据点收取费用.因此,如果我们有3个符号,4个字段和2个数据日期,那么我们将收取24个点的费用.
我需要将原来较大的请求分解为多个较小的请求,仅用于缓存中未找到的数据.
例如.如果我有5个符号A,B,C,D,E和4个字段F1,F2,F3,F4的原始请求3个日期D1,D2,D3.
A,B,C,D,E F1,F2,F3,F4 D1,D2
Run Code Online (Sandbox Code Playgroud)
假设在缓存中我已经拥有以下字段的数据
B,F2,D2
C,F4,D1
Run Code Online (Sandbox Code Playgroud)
然后,如果优化和破坏,我将进行的后续请求将是
Request1 A,B,C,D F1,F3 D1,D2
Request2 A,D F2,F4 D1,D2
Request3 B F2,F4 D1
Request4 B F4 D2
Request5 C F2,F4 D2
Request6 C F2 D1
Run Code Online (Sandbox Code Playgroud)
是否有一些标准的方法将上述划分为较小的请求/ 3D阵列.我能做到这一点的最佳方式是什么?什么类型的数据结构将满足我的需求?
小智 2
建议的方法:
在调用数据获取 API 服务之前实例化结果数据结构
使用缓存中可用的数据填充结果结构。
为未填充的值调用外部服务/API(使用结果结构)。
瞧,你完成了。对于第三步,您可以使用 Linq 找出需要填充的空槽。