vb.net如何在数组中查找数组?

我有2个二进制数组,如何在第一个数组里找到第二个数组的位置?例如:Dimaasbyte()={1,2,3,4,5,6}dimbasbyte()={2,3,4}如何在a中找... 我有2个二进制数组,如何在第一个数组里找到第二个数组的位置?
例如:
Dim a as byte()={1,2,3,4,5,6}
dim b as byte()={2,3,4}
如何在a中找到b的位置?
展开
 我来答
匿名用户
2013-04-16
展开全部
'''这个函数功能就是用来把数组转为string的格式'''如byte()={1,2,3,4,5,6}转化后变为",1,2,3,4,5,6,"Function ByteArrayToString(bytes() As Byte) As String Dim s As String = "" For i As Integer = 0 To bytes.Length s &= Convert.ToString(bytes(i)) & "," Next Return “," & sEnd Function Sub Search()Dim a as byte()={1,2,3,4,5,6}
Dim b as byte()={2,3,4}
Dim astr As String = ByteArrayToString(a)Dim bstr As String = ByteArrayToString(b)Dim index As Integer = astr.IndexOf(bstr) '这个index就是b数组在a数组的位置,下标从0开始,不过记得处理下逗号,因为这时候是字符串。'''如果index小于0说明没有匹配内容End Sub 现在说明下ByteArrayToString为什么要在字符串开头加个",",如果不加,可能出现a="1,23,4,5,6,", b="3,4,5,",结果导致查询位置错误,匹配了a的位置
水焱新火
2013-04-16 · TA获得超过256个赞
知道小有建树答主
回答量:144
采纳率:100%
帮助的人:126万
展开全部

直接找是不支持的,只能自己写

我这有一种变通方法你可以试试,原理是把byte当作string来操作

Dim a As Byte() = {0, 1, 2, 3, 4, 5, 6}
Dim b As Byte() = {2, 3, 4}
Dim s As String = System.Text.Encoding.ASCII.GetString(a)
Dim s2 As String = System.Text.Encoding.ASCII.GetString(b)
Debug.Print(s.IndexOf(s2))
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
tn瓶邪
推荐于2016-07-07 · TA获得超过1881个赞
知道小有建树答主
回答量:610
采纳率:98%
帮助的人:111万
展开全部
例如:
Visual
Imports Microsoft.VisualBasic
'精确
Dim a() As String = {"AA", "BB", "ABBA"}
MsgBox(Array.IndexOf(a, "BB"))
'匹配
Dim b() As String = Filter(a, "BBA")
MsgBox(b.Length)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式