none
Select和Find哪个效率 RRS feed

答案

  • 你好!

    这两个方法是有区别的。

    Find 是通过主键的方式进行查找,返回单行或 NULL; 如:

     

    • DataRow row = DataTable.Rows.Find(100) 100 是主键的值
    • DataRow row = DataTable.Rows.Find(new object[]{100, 101}) // 100, 101 是复合主键的值 

     

    Select 则可以使用更丰富的表达式,返回一个 DataRow 的集合。如

     

    • DataRow[] rows = DataTable.Select("Id = 100 and Id2 = 101 and ...."

    如果 Select 也使用主键的方式进行查找且条件中只包含主键,我认为 Select 与 Find 的效率是一样的。如果只是通过主键查找建议你使用 Find 。

     


    知识改变命运,奋斗成就人生!
    • 已标记为答案 Mog Liang 2010年5月31日 9:03
    2010年5月25日 2:26
    版主