旗下导航:搜·么
当前位置:网站首页 > .Net教程 > 正文

C# DataSet机能最好实践【C#.Net教程】,C#,DataSet

作者:搜教程发布时间:2019-11-27分类:.Net教程浏览:165评论:0


导读:C#机能优化细节1、运用ItemArray完成对DataRow的批量赋值在对DataRow的一切字段赋值时,运用字段名举行逐列赋值效力较低。这时候应只管运用...
C# 机能优化细节

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)!

标签:C#DataSet


欢迎 发表评论: