Inheritance: Data.Packet
コード例 #1
0
ファイル: Table.cs プロジェクト: hogeschool/INFDEV03-5
 public void AddRow(Value[] row)
 {
     if (Rows.Count > 0 && Rows[0].Length > row.Length)
     throw new ArgumentException("Rows have different number of arguments");
       Rows.Add(row);
 }
コード例 #2
0
ファイル: Table.cs プロジェクト: hogeschool/INFDEV03-5
 public Value[] Reduce(Func<Value[], Value[], Value[]> reduction, Value[] reducedValue)
 {
     for (int i = 0; i < Rows.Count; i++)
       {
     reducedValue = reduction(reducedValue, Rows[i]);
       }
       return reducedValue;
 }
コード例 #3
0
ファイル: Table.cs プロジェクト: hogeschool/INFDEV03-5
        public Table(string fileName)
        {
            string[] lines = File.ReadAllLines(fileName);
              List<Value[]> table = new List<Value[]>(lines.Length);
              for (int i = 0; i < lines.Length; i++)
              {
            string[] columns = lines[i].Split(',');
            Value[] values = new Value[columns.Length];
            for (int j = 0; j < columns.Length; j++)
            {
              string cell = columns[j].Where(x => x != ' ' && x != '\t').Aggregate("", (x, y) => x + y);
              int intValue;
              double realValue;

              if (Int32.TryParse(cell, out intValue))
            values[j] = new DBInteger(intValue);
              else if (Double.TryParse(cell, out realValue))
            values[j] = new DBReal(realValue);
              else if (cell == "NULL")
            values[j] = new DBNull();
              else
            values[j] = new DBString(cell);
            }
            table.Add(values);
              }
              Rows = table;
        }