C#常用操作操作方法

怎么在List中怎么着增添五个值,曾经的自己是这样子的:

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);
            }
        }
            //将十六进制“10”转换为十进制i
            int i = Convert.ToInt32("10", 16);
            //将十进制i转换为十六进制s
            string s = string.Format("{0:X}", i);

1.
ADO.NET类

一如既往的,ListBox也有二个依照Point来博取行数的方式,即IndexFromPoint().你看,这些命名好多了:

图片 1)

怎样统1两张表?自身原先写的艺术:

图片 2)

 

图片 3)

在List中寻觅特定值?在此之前我都以那般做:

图片 4)

实际完全能够用3个方法就搞写,它就是AddRange().(在重重类中都有AddRange(),那里小编只是用LIST来比喻)

DataTable.Merge()

2.
集合类

row1.ItemArray = row2.ItemArray;
          foreach (int i in list)
            {
                if (i == 3)
                {
                    Console.Write(i);
                }
            }
int result = list.Find(delegate(int i) { return i == 3; });

图片 5)

老天,倘诺有30三个列笔者可怎么办。其实DataRow有个ItemArray属性,只要一句话就马到功成了:

进制转换.

.NET中约略措施以前不曾接触过,但用过了后来让人近来一亮,哇,原来你那样好用。

3
控件类

SqlCommand执行存款和储蓄进程的时候怎么扩充参数,类似这样做就足以了:

啊,那些措施很傻很天真吧,其实DataTable中一度提供了联合两张表的法子,就是DataTable.Merge()。合并两张表,只要一条语句就行:

           // Get the index of the item the mouse is below.
           indexOfItemUnderMouseToDrag = ListDragSource.IndexFromPoint(e.X, e.Y);

DataGridView中什么获取当前鼠标地点所在的行数与列数?笔者觉着DataGridView会有这般的情势,但找了很久都没找到。终于工夫不负有心人,在VS智能指示下点点终于找到了。只怪那坑爹的命名HitTest?为毛不是Get,Find,Index之类开首啊。重返值仍旧3个内部类:DataGridView.HitTestInfo

List<int> list = new List<int>();
            list.Add(1);
            list.Add(2);
            list.Add(3);
            list.Add(4);
                //设置参数名和类型
                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";

结构同样的意况下,怎样将1行的值赋给另1行?本人原先都如此写:

先前做进制调换,比如十陆进制转8进制,还自身写过2个独立的法门。坑爹的,其实远不用那样麻烦,Convert.ToInt3二()与string.Format()都有提供重载方法来促成:

下边就说说被笔者不经意过的诀要。当然,每一个人的编制程序经历,涉猎面及对.NET的回味水平都不雷同。所以,那只是一家之辞,肯定有广大不足之处,欢迎我们批评指正。

                cmd.Parameters.AddWithValue("@Actor", "Actor");
                cmd.Parameters.AddWithValue("@Target", "Target");
                cmd.Parameters.AddWithValue("@Description", "Description");

List.Find()与List.FindAll()

本小说转载:http://www.cnblogs.com/Gyoung/archive/2012/05/08/2489585.html

DataGridView.HitTest()

list.AddRange(new int[] { 1,2,3,4});

图片 6)

List.AddRange()

实质上完全可以不用foreach循环,用Find()就足以很好的消除:(FindAll()与Find()用法相似)

            DataRow row1 = table1.Rows[0];
            DataRow row2 = table2.Rows[0];
            row1["column1"] = row2["column1"];
            row1["column2"] = row2["column2"];
            //...
targetTable.Merge(sourceTable);

SqlCommand.Parameters.AddWithValue()

            //捕获鼠标点击区域的信息
            DataGridView.HitTestInfo hitTestInfo= this.sourceGrid.HitTest(e.X, e.Y);
            //获取所在行数
            int rowIndex = hitTestInfo.RowIndex;
            //获取所在列数
            int columnIndex = hitTestInfo.ColumnIndex;

 

4.其它

下边都分了两步,增添参数,然后再给参数赋值,其实我们得以一步到位的:

DataRow.ItemArray

ListBox.IndexFromPoint()

相关文章