Пример #1
0
        public FrameDR Sel(params string[] columns)
        {
            var notfound = columns.Where(c => !FrameColumns.ContainsKey(c) || !CustomColumns.ContainsKey(c));

            if (notfound.Count() != 0)
            {
                throw new ArgumentException($"The following columns do not exist in the row: {notfound.Aggregate((s1, s2) => s1 + "," + s2)}.");
            }
            var     frameColumns = FrameColumns.Where(c => columns.Contains(c.Key));
            FrameDR dr           = null;

            if (columns.Count() != 0)
            {
                dr = new FrameDR(this.Frame, this.Index, frameColumns.Select(c => c.Value).ToArray());
            }
            else
            {
                dr = new FrameDR();
            }
            var customColumns = CustomColumns.Where(c => columns.Contains(c.Key));

            foreach (var c in customColumns)
            {
                dr.Add((c.Key, c.Value));
            }

            return(dr);
        }
Пример #2
0
        public FrameDR Ex(params string[] columns)
        {
            var dr = new FrameDR(this.Frame, this.Index,
                                 this.FrameColumns.Where(s => !columns.Contains(s.Key)).Select(c => c.Value).ToArray());

            foreach (var kv in this.CustomColumns.Where(s => !columns.Contains(s.Key)))
            {
                dr.Add((kv.Key, kv.Value));
            }
            return(dr);
        }
Пример #3
0
 public FrameDREnumerator(FrameDR r)
 {
     row = r;
 }