Vb.net 查找数组中最后出现的值

Vb.net 查找数组中最后出现的值,vb.net,visual-studio-2005,Vb.net,Visual Studio 2005,我想查找数组中最后一次出现的值的引用 数组的值的格式类似于(0,7,7,7,7,14,15,15,15,15,16),第二列为布尔值 我相信FINDLAST是我正在寻找的函数,但我无法让语法正常工作 编辑: 我有数组中某个引用的位置CursorPosition,我想从中找到数组中的最后一个引用。我的代码当前为: CursorPosition = position.FindLast(position, position(0, CursorPosition)) 我目前收到3个错误: 无法推断“公共

我想查找数组中最后一次出现的值的引用

数组的值的格式类似于
(0,7,7,7,7,14,15,15,15,15,16)
,第二列为布尔值


我相信FINDLAST是我正在寻找的函数,但我无法让语法正常工作

编辑:

我有数组中某个引用的位置
CursorPosition
,我想从中找到数组中的最后一个引用。我的代码当前为:

CursorPosition = position.FindLast(position, position(0, CursorPosition))
我目前收到3个错误:

无法推断“公共共享函数FindLast(Of T)(数组()作为T,匹配作为System.Predicate(Of T))作为T”的类型参数“T”

“公共共享函数FindLast(of T)(数组()为T,匹配为System.Predicate(of T))为T”的类型参数“T”的类型参数推断失败。无法从传递给参数“array”的参数推断类型参数

“公共共享函数FindLast(of T)(数组()为T,匹配为System.Predicate(of T))为T”的类型参数“T”的类型参数推断失败。无法从传递给参数“match”的参数推断类型参数


您正在讨论Array.FindLast()和Array.findlastedex()方法。最后一个参数是谓词,一种委托类型。换句话说,该方法需要一个可以向其传递候选值的函数,当存在匹配项时,该函数应返回True

这样的谓词最容易用。查看链接了解详细信息。一个简单的例子:

    Dim position() As Integer = {1, 2, 2, 3, 3, 3}
    Dim tofind = 2
    Dim index = Array.FindLastIndex(position, Function(value) value = tofind)

“我无法使语法正常工作”并不能很好地描述您的问题。请解释您尝试了什么(代码示例,如果可能),结果是什么(包括错误和异常,如果有的话)。@Oded我已根据要求更新了问题的详细信息。您在寻找什么价值?在该行运行之后,
CursorPosition
应该是什么?它引用的最后一个值的引用。因此,对于上面的示例数组,它可以从3开始。指的是7。我希望最终值为5,这是最后7个的引用。
FindLast
返回项目而不是其位置。