1、运用ItemArray完成对DataRow的批量赋值
在对DataRow的一切字段赋值时,运用字段名举行逐列赋值效力较低。这时候应只管运用批量字段赋值。能够运用ItemArray或rows.Add要领:
/ ds是数据集(DataSet)对象 DataTable dt = ds.Tables[0]; DataRow row = dt.NewRow(); row.ItemArray = new object[] { value1, value2, …, valuen }; // ds是数据集(DataSet)对象 DataTable dt = ds.Tables[0]; dt.Rows.Add(value1, value2, …, valuen); //应防止做大批一连的单列赋值,以下: DataTable dt = ds.Tables[0]; DataRow row = dt.NewRow(); row["col1"] = value1; row["col2"] = value2; … row["coln"] = valuen;
2、合理运用DataTable的并行计算
DataTable 内置的并行计算能够充分利用电脑的每一个CPU,起到优化效力的作用。
IEnumerable<DataRow> FindRows() //查找一切数目小于0的分录 { DataTable dt = ItemDataTable; …… return dt.Select(“Quantity<0”); //未运用并行计算 } IEnumerable<DataRow> FindRows() //查找一切数目小于0的分录 { DataTable dt = ItemDataTable; …… int index = dt.Columns.IndexOf("Quantity"); return dt.AsEnumerable().AsParallel().Where(dr => (decimal)dr[index] < 0); //运用并行计算: }
依据试验,当对DataTable的行挑选时并行计算优于Select和轮回过滤等体式格局;当举行行遍用时机能相似。
3、运用ImportRow完成向同构造DataTable兼并
运用Merge要领能够很轻易的完成DataTable的兼并,但Merge的效力却异常差代码;示例以下:
DataTable[] srcTables = ... ; foreach(DataTable src in srcTables ) { dest.Merge( src ) ; }
ImportRow也能够完成DataTable的兼并操纵,机能比拟Merge要高许多。代码示例以下:
DataTable[] srcTables = ... ; foreach(DataTable src in srcTables ) { foreach(DataRow row in src.Rows) { dest.ImportRow( row ) ; } }
4、待续
以上就是C# DataSet机能最好实践的内容,更多相关内容请关注ki4网(www.ki4.cn)!