在VB.Net中,您可以轻松地执行以下操作,甚至无需考虑这是一个相当无用的类 :-)
然而,如果你在C#中做同样的事情...
您将在返回“Collections.Generic.List”的行上收到一个错误,该错误会说“找不到类型或命名空间名称'Collections'(您是否缺少使用指令或程序集引用?)”
我知道您必须实际上使用System.Collections.Generic才能使用List,但我不知道为什么。 我也不明白为什么在函数声明中我没有得到同样的错误,而只有在返回语句中才有。
我希望有人能解释这个问题,甚至是引用一个技术页面来解释它。 我已经搜索过了,但找不到任何解释这个概念的东西。
编辑:请注意,问题实际上是关于引用子命名空间的,例如在示例中能够引用System中的Collections。
Imports System
Public Class Class1
Public Shared Function ArrayToList(ByVal _array() As String) As Collections.Generic.List(Of String)
Return New Collections.Generic.List(Of String)(_array)
End Function
End Class
然而,如果你在C#中做同样的事情...
using System;
public class Class1
{
public static Collections.Generic.List ArrayToList(string[] _array)
{
return new Collections.Generic.List(_array);
}
}
您将在返回“Collections.Generic.List”的行上收到一个错误,该错误会说“找不到类型或命名空间名称'Collections'(您是否缺少使用指令或程序集引用?)”
我知道您必须实际上使用System.Collections.Generic才能使用List,但我不知道为什么。 我也不明白为什么在函数声明中我没有得到同样的错误,而只有在返回语句中才有。
我希望有人能解释这个问题,甚至是引用一个技术页面来解释它。 我已经搜索过了,但找不到任何解释这个概念的东西。
编辑:请注意,问题实际上是关于引用子命名空间的,例如在示例中能够引用System中的Collections。