Arrays VB.NET在数组中查找字符串
我是VB.net新手,通常是Python或Matlab程序员。我已经开始用VB.net编程了。我正在努力引用数组中字符串的索引,而不通过for循环 如何在一行中找到数组中的条目?我的想法是Arrays VB.NET在数组中查找字符串,arrays,vb.net,Arrays,Vb.net,我是VB.net新手,通常是Python或Matlab程序员。我已经开始用VB.net编程了。我正在努力引用数组中字符串的索引,而不通过for循环 如何在一行中找到数组中的条目?我的想法是 Dim indx As Integer Dim MyArray() As String indx = MyArray.find("ThisEntry") 或 indx = MyArray.indexof("ThisEntry") 到目前为止,我所发现的只是在声明变量后直接描述方法的函数?我错过什么
Dim indx As Integer
Dim MyArray() As String
indx = MyArray.find("ThisEntry")
或
indx = MyArray.indexof("ThisEntry")
到目前为止,我所发现的只是在声明变量后直接描述方法的函数?我错过什么了吗?或者逻辑没有意义吗?这样做,在数组中有一些内容之后,现在是空的:
Dim result As String = Array.Find(MyArray, Function(s) s = "ThisEntry")
要获取索引,请执行以下操作:
Dim index As Integer = Array.FindIndex(MyArray, Function(s) s = "ThisEntry")
IndexOf有效,您只是没有正确使用它
Dim arr As String() = {"aa", "bb", "cc"}
index = Array.IndexOf(arr, "bb")
在某个地方总会有一个循环,这只是你调用它还是将功能转移到另一个函数或方法的问题。你所说的“到目前为止,我所发现的只是在声明变量后直接描述一个方法的函数”是什么意思?对不起,我不能解析那个语句,你能澄清一下吗?@YaugenVlasau:那是C#,不是VB。你在哪里把“what”变量传递给findbbb函数?@CarlosLanderas也许扩展方法并不适合初学者……是的,我更喜欢1000倍C风格,但是……+1代表什么。+1在哪里@Neolisk:P:P@CarlosLanderas:对不起,我被别的事情分散了注意力。修复了..ToList()创建数组副本的问题,该副本效率有点低。
Dim arr As String() = {"aa", "bb", "cc"}
index = Array.IndexOf(arr, "bb")
Dim MyArray() As String = {"a", "ThisEntry", "b"}
Dim indx As Integer = MyArray.ToList().IndexOf("ThisEntry")