对齐数据系列的有效/不同方式

时间:2011-01-17 23:39:30

标签: c#

有哪些方法可以对齐2个数据系列(即股票数据)以使日期匹配?

我可以想到几个方法。

  1. 复制较旧的数据以填写
  2. 丢掉两组中缺少的日期
  3. 不知道如何有效地将其包裹起来以便有效地将数据存储在2个列表中。

    这是我到目前为止所尝试的内容。不过我不喜欢这些比较类:

      baseBars = baseBars.Intersect(secondaryBars, new BarDateComparer()).ToList();
      secondaryBars = secondaryBars.Intersect(baseBars, new BarDateComparer()).ToList(); 
    
     public class BarDateComparer : IEqualityComparer<Bar>
        {
    
            public bool Equals(Bar x, Bar y)
            {
    
                return x.Date == y.Date;
    
            }       
            public int GetHashCode(Bar obj)
            {
    
                return obj.Date.GetHashCode();
            }
    
        }
    

1 个答案:

答案 0 :(得分:0)

LINQ方法怎么样:

var combinedSeries = from record in series1
            join record2 in series2
            on record.Date == record2.Date  into JoinedLists
            from joinedRecord in JoinedLists.DefaultIfEmpty()
            orderby record.Date
            select (whatever you want out of both records);