无法在VB.NET中声明列表?

5
Dim lstNum As New List(Of Integer)(New Integer() { 3, 6, 7, 9 })

当我输入上述代码时,Visual Studio会告诉我有错误:
'Microsoft.Office.Interop.Word.List'没有类型参数,因此无法具有类型参数。 这是什么意思?如何解决?我无法创建任何类型的列表。我认为我缺少某种导入,但我的VB.Net水平不够流利,不知道该尝试什么。

1
您没有漏掉任何导入,看起来您多导入了一个 Microsoft.Office.Interop.Word - Kratz
我没有声明任何一个;也许是因为我没有导入,它选择了在导入列表中找到的第一个 - 在导入列表中,Microsoft排在System之前... - redhotspike
1
顺便说一句,我敢打赌你“已经声明了导入”,但你没有意识到,因为“声明”在你的VB项目属性中的引用选项卡中,“导入的命名空间”中。这适用于您项目中的所有.vb文件。(我提到这一点是为了以防未来的读者不知道他们应该去那里看。)去那里,取消选中Microsoft...Word。然后仅将Word添加到需要它的文件中。 - ToolmakerSteve
3个回答

8

使用 Generic.List 而不是仅使用 List。

Dim lstNum As New Generic.List(Of Integer)(New Integer() { 3, 6, 7, 9 })

既然您已经导入了Word interop,它正在尝试查找Word.List。指定Generic.List将告诉它走出这个导入范围。


谢谢!就这样了!(它让我等11分钟才能接受,但这将被接受) - redhotspike
2
更具体地说,请确保您正在导入和/或别名System.Collections.Generic命名空间。除非已导入System.Collections,否则Generic.List可能不起作用。 - Krypes
不确定具体情况,但我不需要导入System.Collections.Generic。可能是因为我正在使用ASP.NET? - David Brunow

6

尝试添加 System.Collections.Generic

 Dim lstNum As New System.Collections.Generic.List(Of Integer)(New Integer() { 3, 6, 7, 9 })

0

你可以使用 Generic.list 代替 List,例如:Dim lstNum As New Generic.List(Of Integer)(New Integer() { 3, 6, 7, 9 })。或者你可以直接导入 System.Collections.Generic 命名空间。这两种方法都可以,但如果你需要反复使用 list,我建议选择后者。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接