我正在寻找一种有效的内存类型,它模仿混合类型数据表(行/列)。有效率我指的是以下场景的快速操作。记忆是次要问题。
主要方案是:
超出范围:
我假设我可以做得比ADO类型(DataTable等)更好,因为它们可以解决更广泛的场景?我错了。
答案 0 :(得分:0)
DataTable具有很多功能并且具有批量功能。像AcceptChanges一样。
处理创建抽象类的混合数据类型
public abstract class Field : INotifyPropertyChanged
它包括
public abstract String DispValue { get; }
然后是各种数据类型
class FieldBooleanSV : Field
class FieldStringSV : Field
class FieldInt32SV : Field
public class FieldInt16SV : DocField
{
Int16 fieldValue;
Int16 FieldValue { get { return fieldValue; }
set
{
if (value != fieldValue)
{
fieldValue = value;
NotifyPropertyChanged("DispValue");
NotifyPropertyChanged("FieldValue");
}
}
}
}
public override String DispValue
{
get
{ return fieldValue.ToString()); }
}
}
SV是单值,有一个MV
所以FieldRow是一个具有属性
的类List<Field> Fields ....
总收集是(行和列)
ObservableCollection<FieldRow>
它很脆弱,因为您需要确保每个FieldRow都具有相同的Fields集合。
这是很多工作,但我需要控制Field 如果您沿着这条路走下去,那就去DataGrid上的GridView(出于同样的原因 - 功耗但是开销)。
的问题
List<IEnumerable<T>>
T是变量,但它是单数。所有列都是相同的。