vb中去掉string数组的一部分

今天碰到一个问题,登陆的时候,如果不需要验证手机号为空,则不去验证手机号

因为登陆的时候所有的验证信息都存放在一个数组里

Dim CheckUserInfo() As String ={UserBirthday, SecEmail, UserMob, UserSex, RealNameFirst, RealName, CheckCardID, CheckCardType, Contactemail,Contactmobile}

vb中的remove方法不好使,或者不会用。。。

就去百度了一个方法

1 Dim arrlist As ArrayList = New ArrayList(CheckUserInfo)
2 arrlist.RemoveAt(3)
3 arrlist.RemoveAt(8)
4 CheckUserInfo = arrlist.ToArray(GetType(String))

先转成arraylist,然后使用两次removeat,注意两次的长度不一样,后一次的长度比上一次少一位,最后在转成string数组

经同事提醒才发现,我们的检验方法是

Dim CheckValue As Int16= Array.IndexOf(CheckUserInfo, "")

而Array.IndexOf有一个重载方法是

var indexVar = Array.indexOf(array, item, start);
术语 定义
array
要搜索的数组。
item
要在数组中查找的对象。
start
(可选)指定在数组中搜索的起始元素的索引号。

那干脆移动下位置

Dim CheckUserInfo() As String ={UserMob,Contactmobile,UserBirthday, SecEmail,  UserSex, RealNameFirst, RealName, CheckCardID, CheckCardType, Contactemail}

然后使用这个方法

CheckValue = Array.IndexOf(CheckUserInfo, "", 2)

原文地址:https://www.cnblogs.com/Lvkang/p/9512171.html