代码之家  ›  专栏  ›  技术社区  ›  Patrice Cote

DataGridView数据源上的通用Linq查询

  •  0
  • Patrice Cote  · 技术社区  · 14 年前

    这是非泛型代码,但无论数据源的类型是什么(只要它实现了IEnumerable,我猜就是),以及键字段的名称和类型是什么,我都希望它能正常工作。

    Dim query = (From note In notesList _
                Where note.IdNote = mIdNoteSelectionne _
                Select note).FirstOrDefault()
    
    Dim ancienIndex As Integer = notesList.IndexOf(query)
    

    noteList是一个列表(注意),Note是我创建的一个简单的实体类,只有成员和属性

    1 回复  |  直到 14 年前
        1
  •  1
  •   Jeffrey Lott    14 年前

    很遗憾,您将无法对任何数据源执行此操作。因为您试图与一个ID字段进行比较,而不是每个对象都有这个字段,所以您将无法进行比较。您需要做的是定义一个基类或一个具有ID属性的接口。然后可以将数据源强制转换为基类的IEnumerable。使用linqs Cast<gt;运算符。