为什么索引器在c#中被称为智能数组?

为什么索引器在c#中被称为智能数组?,c#,C#,我对编程一无所知,我想知道;什么时候是个好时机 要使用数组还是索引器?我想知道什么类型的应用程序 将充分利用数组或索引器。似乎还有其他的解决方法 做两个人的工作,减少混乱 我读的书没有提供我需要的情况的好例子 数组或索引器。我真的不需要他们的定义,因为我已经知道了 拿着吧。我只需要知道哪些著名的应用程序有什么用途 数组和索引器 这是我第一次在C语言中听到“智能阵列”这个词# 没有人使用“智能阵列”这一短语,我没听说过。 除了链接论坛帖子中的那个家伙,没有人打电话给smart array。 用于

我对编程一无所知,我想知道;什么时候是个好时机 要使用数组还是索引器?我想知道什么类型的应用程序 将充分利用数组或索引器。似乎还有其他的解决方法 做两个人的工作,减少混乱

我读的书没有提供我需要的情况的好例子 数组或索引器。我真的不需要他们的定义,因为我已经知道了 拿着吧。我只需要知道哪些著名的应用程序有什么用途 数组和索引器


这是我第一次在C语言中听到“智能阵列”这个词#

没有人使用“智能阵列”这一短语,我没听说过。

除了链接论坛帖子中的那个家伙,没有人打电话给smart array。


用于和之类的索引器一般来说,我认为数组很难管理,我不经常使用它们。作为程序员,您必须完全负责数组的长度

string[] str1 = new string[10];
在阵列中添加和删除项目时,必须随时了解您在阵列中的位置

就我个人而言,我尽可能避免使用数组,并使用强类型集合,如
List

List<string> str1 = new List<string>();
我想这就是为什么索引器在c#中被称为智能数组的答案?问题是他们不是。

在MSDN论坛上发布的帖子不能证明任何事情。MSDN文档中没有关于智能阵列的内容。您应该遵循官方功能命名,即索引器索引属性。这就是你能在网上找到的名字

  • 规范:第10.9章索引器

    索引器是一个成员,它使对象能够以与数组相同的方式进行索引。索引器是使用索引器声明声明的:

  • 文件:

    索引器允许类或结构的实例像数组一样被索引。索引器与属性相似,只是它们的访问器采用参数


阵列是一种数据结构;索引器是一种句法语言特征。你真的在问
列表
?提示:你会如何编写一个管理通讯簿的程序?不,我在问为什么索引器被称为智能数组?这是我第一次在C#中听到“智能数组”这个词。在MSDN论坛上发布的任何东西都不能证明什么。索引器使集合类型看起来像数组。如果你愿意,你可以称之为“智能阵列”,但这样做并不常见。太好了。我也从未听说过智能阵列。但无论如何,我不认为复制/粘贴文本和代码的和平解决了这个问题。我不同意它确实提供了示例。marcinjuraszek先生阅读了msdn library关于c#@user3288935中的indexer:我认为他比你更清楚你的说法。当然,MSDN称之为索引器。。。但它在哪里称之为智能数组呢?@user3288935我知道c#中的索引器是什么,以及应该如何/何时使用。问题是,我从未听过有人命名indexer smart array。我不认为MSDN论坛上的帖子能证明什么。我可以很容易地添加一篇帖子,并以你不喜欢的方式命名它们(甚至可以说,使用这个名称很常见。这并不意味着人们实际上使用了这个名称。我很确定MSDN文档中没有关于智能数组的内容。我想知道为什么索引器在c#中被称为智能数组?同样,索引器在c#中也不被称为智能数组“智能阵列”。我不知道那个人为什么声称它们是智能阵列,但我已经使用C#超过10年了,以前从未听说过这个词。将索引器称为“智能阵列”无论如何都会很愚蠢。索引器基本上是一个属性,允许您访问集合中的项目,而数组实际上是一个数据结构,用于保存项目本身。将集合称为“智能数组”可能有点道理,但集合的索引器完全是另一回事。你说你了解什么是数组和索引器,但我不这么说。这并不能真正让任何东西“更聪明”。它只是一种方法,允许你在类上放置索引,以引用类中的对象,就像在数组中一样,使用
[]
括号语法。谢谢兄弟,现在我明白了
str1.Add("Hello!");
str1.Add("Hello again!");
str1.RemoveAt(0);
Console.WriteLine(str1[0]); //Hello again!