Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/256.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 用于实现数组的.NET语法_C#_.net_Interface_Interface Implementation - Fatal编程技术网

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];