- Timestamp:
- 09/06/18 12:20:50 (6 years ago)
- Location:
- stable
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
stable
-
stable/HeuristicLab.Problems.DataAnalysis
- Property svn:mergeinfo changed
/trunk/HeuristicLab.Problems.DataAnalysis merged: 16063
- Property svn:mergeinfo changed
-
stable/HeuristicLab.Problems.DataAnalysis/3.4/ModifiableDataset.cs
r16124 r16125 47 47 public ModifiableDataset() { } 48 48 49 public ModifiableDataset(IEnumerable<string> variableNames, IEnumerable<IList> variableValues) : 50 base(variableNames, variableValues, cloneValues: false) { } 51 49 public ModifiableDataset(IEnumerable<string> variableNames, IEnumerable<IList> variableValues, bool cloneValues = false) : 50 base(variableNames, variableValues, cloneValues) { } 51 52 public Dataset ToDataset() { 53 return new Dataset(variableNames, variableNames.Select(v => variableValues[v])); 54 } 52 55 public void ReplaceRow(int row, IEnumerable<object> values) { 53 56 var list = values.ToList(); … … 91 94 variableValues[variableNames[i]].Add(list[i]); 92 95 } 93 rows++;96 Rows++; 94 97 OnRowsChanged(); 95 98 OnReset(); … … 104 107 throw new ArgumentException("Cannot add variable with no values."); 105 108 109 if (values.Count != Rows) 110 throw new ArgumentException(string.Format("{0} values are provided, but {1} rows are present in the dataset.", values.Count, Rows)); 111 106 112 if (!IsAllowedType(values)) 107 113 throw new ArgumentException(string.Format("Unsupported type {0} for variable {1}.", GetElementType(values), variableName)); … … 109 115 variableValues[variableName] = values; 110 116 variableNames.Add(variableName); 117 118 OnColumnsChanged(); 119 OnColumnNamesChanged(); 120 OnReset(); 121 } 122 123 124 public void InsertVariable(string variableName, int position, IList values) { 125 if (variableValues.ContainsKey(variableName)) 126 throw new ArgumentException(string.Format("Variable {0} is already present in the dataset.", variableName)); 127 128 if (position < 0 || position > Columns) 129 throw new ArgumentException(string.Format("Incorrect position {0} specified. The position must be between 0 and {1}.", position, Columns)); 130 131 if (values == null || values.Count == 0) 132 throw new ArgumentException("Cannot add variable with no values."); 133 134 if (values.Count != Rows) 135 throw new ArgumentException(string.Format("{0} values are provided, but {1} rows are present in the dataset.", values.Count, Rows)); 136 137 if (!IsAllowedType(values)) 138 throw new ArgumentException(string.Format("Unsupported type {0} for variable {1}.", GetElementType(values), variableName)); 139 140 variableNames.Insert(position, variableName); 141 variableValues[variableName] = values; 111 142 112 143 OnColumnsChanged(); … … 129 160 foreach (var list in variableValues.Values) 130 161 list.RemoveAt(row); 131 rows--;162 Rows--; 132 163 OnRowsChanged(); 133 164 OnReset();
Note: See TracChangeset
for help on using the changeset viewer.