.NET中被混略的一些方法

1、ADO.NET类
    ①DataTable.Merge()
    

private void UniteTable(DataTable sourceTable, DataTable targetTable)
        {
            foreach (DataRow row in sourceTable.Rows)
            {
                DataRow newRow = targetTable.NewRow();
                //将sourceTable中row的值赋给对应的targetTable中的row
                newRow["column1"] = row["column1"];
                //...
                targetTable.Rows.Add(newRow);
            }
        }
其实DataTable早就提供了方法
targetTable.Merge(sourceTable);
    ②DataRow.ItemArray()
    将一行的值赋给一行
    DataRow row1 = table1.Rows[0];
  DataRow row2 = table2.Rows[0];
  row1["column1"] = row2["column1"];
  row1["column2"] = row2["column2"];
  //...
  其实只要通过这个方法  row1.ItemArray = row2.ItemArray;
  ③SqlCommand.Parameters.AddWithValue() 

    SqlCommand执行存储过程的时候怎么增加参数,类似这样做就可以了:
    

    //设置参数名和类型
    cmd.Parameters.Add("@Target", SqlDbType.NChar);
    cmd.Parameters.Add("@Description", SqlDbType.NChar);
    cmd.Parameters.Add("@Actor", SqlDbType.NChar);
    //给参数赋值
    cmd.Parameters[0].Value = "ATarget";
    cmd.Parameters[1].Value = "Description";
    cmd.Parameters[2].Value = "Actor";
    其实可以一步到位
    cmd.Parameters.AddWithValue("@Actor", "Actor");

  cmd.Parameters.AddWithValue("@Target", "Target");
  cmd.Parameters.AddWithValue("@Description", "Description");
2、集合类
    ①List.Find()与List.FindAll()
    在List中查找特定值,一般情况下使用    foreach (int i in list)
    {
      if (i == 3)
      {
        Console.Write(i);
      }
    }
    其实使用int result = list.Find(delegate(int i) { return i == 3; });能够更好更快的实现
3、控件类
    ①DataGridView.HitTest()
    DataGridView中如何获取当前鼠标位置所在的行数与列数    //捕获鼠标点击区域的信息 
    DataGridView.HitTestInfo hitTestInfo= this.sourceGrid.HitTest(e.X, e.Y);
    //获取所在行数     int rowIndex = hitTestInfo.RowIndex;
    //获取所在列数     int columnIndex = hitTestInfo.ColumnIndex;
    ②ListBox.IndexFromPoint()
     ListBox也有一个根据Point来获取行数的方法,即IndexFromPoint()
    // Get the index of the item the mouse is below.
    indexOfItemUnderMouseToDrag = ListDragSource.IndexFromPoint(e.X, e.Y);
4、进制转换
    //将十六进制“10”转换为十进制i 
    int i = Convert.ToInt32("10", 16);
    //将十进制i转换为十六进制s     string s = string.Format("{0:X}", i);

知识共享许可协议
《.NET中被混略的一些方法》常伟华 创作。
采用 知识共享 署名-相同方式共享 3.0 中国大陆 许可协议进行许可。
  • 多说评论
  • 签名
  • 新浪微博
  • 默认评论
  • Tab Header 5

0 条评论 / 点击此处发表评论

Tab Content 5

开发技术


开发平台和工具

sitemap     145.43ms