重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
Dim cc As String(),这样只是定义了一个数组类型的变量,它的值为Nothing,所以后面会出NullReferenceException。
轵城网站制作公司哪家好,找创新互联!从网页设计、网站建设、微信开发、APP开发、成都响应式网站建设公司等网站项目制作,到程序开发,运营维护。创新互联公司2013年成立到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选创新互联。
定义数组要这么定义Dim cc(k) As String
还有你为什么要用参数k呢,可以通过list.Count来获得列表中元素的数量。
Private Function GetText(list As List(Of TextBox)) As String()
If list Is Nothing Then Throw New ArgumentNullException("list")
Dim k As Integer = list.Count - 1
Dim cc(k) As String
For i As Integer = 0 To k
cc(i) = list(i).Text
Next
Return cc
End Function
还有一些其他方法,比如用convertAll
Dim Texts = list.ConvertAll(Function(txt) txt.Text).ToArray
或者LINQ:
Dim ts = (From c In list Select c.Text).ToArray
ConvertAll返回类型就是List(Of T),LINQ返回类型是IEnumerable(OF T)。它们都有ToArray()方法来转化为数组,不过很多时候其实用不着转化成数组。
上面两种语法至少要VS2008才支持
泛型参数,表示一种特定类型,通常用于集合List, Dictionary之类的。
原型:Dictionary(Of TKey, TValue)
原型不能直接使用,必须给TKey, TValue指定一个类型(Type)
强类型字典:Dictionary(Of String, String)
表示键和值都为String类型的字典。
初始化一个ArrayList对象,调用它的方法和属性,以及增加等操作。
Dim myAL As New ArrayList()
'Add方法用来增加元素。
myAL.Add("Hello")
myAL.Add("World")
myAL.Add("!")
'Count属性表示元素个数。
Console.WriteLine(myAL.Count.ToString())
建议你用下面两个泛型集合类替代ArrayList:
System.Collections.Generic.List
System.Collections.ObjectModel.Collection
你可以限制泛型类型为实现某一个接口的子类,通过添加 class MyClass : where T : IEnumerable可以限制T为实现IEnumerable的类,但是你不能限制T类型是接口类型,你只能限制T类型是一个引用类型,使用where T : class来做。 实例化跟反省没关系...