C# 用于实现数组的.NET语法
实现接口数组的语法是什么?C# 用于实现数组的.NET语法,c#,.net,interface,interface-implementation,C#,.net,Interface,Interface Implementation,实现接口数组的语法是什么? iWord是一个接口 这是List的语法 public class Words : List<iWord> { } 您不能这样做,但是既然数组实现了IEnumerable和IEnumerable,那么 class Words : IEnumerable<iWord> 你不能这样做,也许IEnumerable可以吗?你想要实现什么?@walkhard基本上是IEnumerable,我只需要添加一个索引器(这个)。我要试一试。若你们想把它标
iWord是一个接口 这是List的语法
public class Words : List<iWord>
{
}
您不能这样做,但是既然数组实现了
IEnumerable
和IEnumerable
,那么
class Words : IEnumerable<iWord>
你不能这样做,也许
IEnumerable
可以吗?你想要实现什么?@walkhard基本上是IEnumerable,我只需要添加一个索引器(这个)。我要试一试。若你们想把它标记为一个答案,我会接受。为什么不使用这个列表,然后在需要的时候把它转换成数组呢?我发现列表比数组更容易操作。@bum把它写成更好的文字。数组是语言本身的一部分,不像列表、堆栈或其他数据结构那样作为框架的一部分编写。任何存在的类型都可以在其上放置一个[]
,现在就有了该类型的数组。因此,您不需要实现数组。这里有一个问题:你会在你的Word类中加入什么?@bobek,因为在封面下它是一个数组,因为它比list更适合我所需要的,因为在封面下我需要array.Copy方法(array,Int32,array,Int32,Int32)。对外只需公开IEnumerable和indexer。如果确实需要向外部单词公开数组,可以使用ToArray()
方法。你也可以看看。看我的评论“对外只需要(想要)公开IEnumerable和一个(只读)索引器”。在封面下,我不想使用列表。在封面下我需要一个阵列,这就是我所拥有的。我使用List作为一个语法示例,并没有抛出错误——并不是因为我想公开一个List。带只读索引器的IEnumerable正是我所需要的。
class Words : IEnumerable<iWord>
class Words : List<iWord>
// use indexer to get first element
var myWords = new Words();
var first = myWords[0];