首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >VB.NET为什么我的函数不返回数组?

VB.NET为什么我的函数不返回数组?
EN

Stack Overflow用户
提问于 2010-06-02 04:22:58
回答 3查看 6.5K关注 0票数 0

我正在尝试编写一个函数,它返回一个可以传递到String.Format中的数组:

代码语言:javascript
复制
Public Function ToArray() As Array
    Dim vals As New ArrayList()
    vals.Add(Me("district"))
    vals.Add(Me("county"))
    vals.Add(Me("route"))
    vals.Add(Me("section"))
    vals.Add(Me("beg_logmile"))
    vals.Add(Me("end_logmile"))
    vals.Add(Me("date_logged"))
    vals.Add(Me("year_installed").year())
    vals.Add(Me("document"))
    Return vals.ToArray()
End Function

Public Overrides Function toString() As String
    Return String.Format("{0} {1} {2} {3} {4:f3} {5:f3} {6} {7} {8}", Me.ToArray())
End Function

上述方法不起作用。我已经将它转换为String.Format("{0}",Me.ToArray()),它告诉我有一个System.Object[]

我还没能在谷歌上找到答案,所以任何帮助都将不胜感激!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-06-02 04:28:17

将您的函数声明更改为:

代码语言:javascript
复制
Public Function ToArray() As Object()

您正在使用的ToString()重载需要一个对象数组,而不是Array类的实例。

票数 4
EN

Stack Overflow用户

发布于 2010-06-02 04:28:24

您的函数应如下所示:

代码语言:javascript
复制
Public Function ToArray() As Object()
    Return New Object() {Me("district"), Me("county"), Me("route"), ... ,Me("document") }
End Function
票数 2
EN

Stack Overflow用户

发布于 2010-06-02 04:29:14

试着给自己下定义:

公共重写函数toString() As String()

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2953047

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档