Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.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# 清单闻起来难闻吗?我还有什么选择_C#_.net 2.0 - Fatal编程技术网

C# 清单闻起来难闻吗?我还有什么选择

C# 清单闻起来难闻吗?我还有什么选择,c#,.net-2.0,C#,.net 2.0,我需要整理一个列表,但整个想法听起来不太妙。 这听起来太麻烦了。是否有其他模式用于保存列表列表 我的第一个想法是使用arrayList的arrayList c#,.net-2 更多:那么要存储的项目数量很小,但总是在变化 注: 我在这个问题上使用ArrayList的错误得到纠正: 列表没有什么问题-LINQ的SelectMany在那种情况下可以成为你的朋友。一点问题也没有。我已经用过了,它非常适合我当时的需要。该模式是一个列表列表。:) 列表本身并不是一种难闻的气味。如果列表的大小相同,您可能希

我需要整理一个列表,但整个想法听起来不太妙。 这听起来太麻烦了。是否有其他模式用于保存列表列表

我的第一个想法是使用arrayList的arrayList

c#,.net-2

更多:那么要存储的项目数量很小,但总是在变化

注: 我在这个问题上使用ArrayList的错误得到纠正:


列表没有什么问题-LINQ的
SelectMany在那种情况下可以成为你的朋友。

一点问题也没有。我已经用过了,它非常适合我当时的需要。该模式是一个列表列表。:)

列表本身并不是一种难闻的气味。如果列表的大小相同,您可能希望使用2D数组,例如
int[2,2]
,但是如果列表的长度不同,那么列表列表是正确的选择,而不是为不规则的2D数组正式编码类。

如何使用在自定义类中创建的对象?

例如,客户可以有多个地址。创建具有Address属性的Customer对象。然后,您可以有一个客户集合(数组、ArrayList等),每个客户都可以有一个地址集合

这适用于多种类型的信息,例如产品类别中的产品、部门中的员工


以这种方式处理层次关系在编码中更容易。

您可以,但最好将其包装到具有定义良好的公共方法的类。

您当然可以使用泛型列表或非泛型变量ArrayList来完成这项工作

List<List<string>> listOfLists = new List<List<string>>();
listOfLists.Add(new List<string>());
listOfLists.Add(new List<string>());

ArrayList stringListOfStringLists = new ArrayList();
stringListOfStringLists.Add(new ArrayList());
stringListOfStringLists.Add(new ArrayList());
List listOfLists=new List();
添加(新列表());
添加(新列表());
ArrayList StringListofStringList=新的ArrayList();
添加(新的ArrayList());
添加(新的ArrayList());

虽然注释有效(并获得+1),但LINQ仅在3.5及以上版本中可用,但OP列出的是2.0。您可以使用.Net 2.0-1中LINQ to对象的LinqBridge(或类似)来说明ArrayList是一个选项。根据经验,永远不要使用ArrayList。为什么不呢?ArrayList有什么问题?@John Kugelman-类型安全、装箱和拆箱成本,即。performance@tster很公平。我建议使用ArrayList,部分原因是他在问题中提到了它,但主要原因是在.NET2.0项目的遗留代码中看到它的可能性。我应该提到的是,它不应该被使用。我以前见过这样的评论。关于ArrayList的arraylistMore有什么问题:您也可以直接在C#中使用锯齿状数组-无需“为锯齿状2D数组正式编写类”-锯齿状数组在C#中已经得到支持。