gpt4 book ai didi

c# - 使用哪种对象集合类型?

转载 作者:行者123 更新时间:2023-11-30 12:16:15 26 4
gpt4 key购买 nike

现在我有一个二维字符串数组来保存我的数据:

//...find number of rows needed...
string[,] data = new string[totalRows, 12]; //row / column

它有效。但是现在我想为我的程序添加更多功能,它不再对我有利,因为连接二维数组虽然可行,但会引发其他问题:直到此时我才将行数存储在类变量中,因为我没有需要同时维护两个。可以说我知道列总是相同的,我可以将长度除以它来获取行并编写一个方法来组合它们。

我觉得有更好的方法来解决这个问题。我对“更新”的东西缺乏了解,但我确信其中一个比其他的更符合要求。所以在我开始创建 List<List<String>> data = new List<List<String>>(); 之前或者其他同样奇怪的东西,我希望其他人更有经验的意见。

我不需要任何排序、删除、插入等功能。我只需要它来保存数据;现在我需要能够相对容易地去 data += data2 ——不管怎么说,都是那种效果。 data.Length (仅给出外部长度)也将非常有用。

解决这个问题的最佳方法是什么?

如果您想了解更多信息,请告诉我。谢谢。

基于答案的更多信息:

数据基本上是电子表格格式。即。

[['1234-56789-12345', 'screwdriver', '', 'ea', '1', '', '', '', '', '', '', ''],
[['1234-56789-54321', 'wrench', '', 'ea', '1', '2', '3', '', '', '', '', '']]

我不想弄清楚信息描述的是什么——我不在乎。我需要相对于其他所有内容的位置。

还有更多信息:

用作一个 xml 文件和另一个 xml 文件之间的储 jar 。刚刚意识到那些 xlst 东西可能是我最初问题的另一种解决方案,但是嗯。也许在另一种生活中。 (一切正常..就像我说的,添加功能。如果它有效,为什么要破坏它?)

最佳答案

我认为一个值得问的问题是,您的数据列是否可以更好地由一个对象来表示,该对象解释了每列所包含的内容。例如,代替

row 1 => { "Jane", "Smith", "1 Rocket Ave", "Houston", "TX" }

你有

new Person { FirstName = "Jane", LastName = "Smith", /* etc. */ }

那么您的二维数组就变成了这些新的 Person 对象的一维集合,这些对象更容易在代码中进行推理。

List<Person> people = ...
// vs.
string[,] people = ...

关于c# - 使用哪种对象集合类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5749292/

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