gpt4 book ai didi

c# - 制作二维数组/集合类的最佳实践

转载 作者:太空宇宙 更新时间:2023-11-03 13:41:17 24 4
gpt4 key购买 nike

我正在开发一个将广泛用于其他应用程序的通用库。可以说是一种SDK库。

我需要实现一个 2D 集合实现。它将是一个通用的模板抽象类。那么制作二维数组或集合的良好做法是什么。它就像一个网格结构。

这是我为一维集合所做的。

public abstract class BaseCollection<T> : Collection<T>

二维采集应该怎么办。 [,] 或其他东西。

最佳答案

有多种选择,但部分取决于您的 2D 集合的实际实现方式。

如果你只想要一个二维数组,那么有一个特殊的语法。这是一个二维字符串数组:

string[,] twoDimStringArray = new string[4,5];

另一种选择是使用列表列表:

List<List<string>> listOfListOfString = new List<List<string>>();

你可以有一个锯齿状的数组:

string[][] arrayOfArraysOfString = new string[5][];

一般来说,我不鼓励您使用扩展另一个集合类型的类。通常最好封装另一种类型的集合。如果你的类本身作为一个集合公开,那么使用各种合适的接口(interface),比如 IEnumerable , ICollection , IList , ISet

如果您有一个二维索引列表样式的集合,那么您或许可以将您的类设为 IList<IList<T>>。 ,或 `ICollection>,如果你想公开这些接口(interface)的功能级别(你可能不会,如果不了解更多上下文就很难说)。

关于c# - 制作二维数组/集合类的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16898107/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com