【问题标题】:How to resize structure array in C# [duplicate]如何在C#中调整结构数组的大小[重复]
【发布时间】:2015-03-20 01:26:04
【问题描述】:
struct UurroosterKlasStruct
{
   public int Vak;
   public int Lkr;
}
UurroosterKlasStruct[,] UurroosterKlas;`

稍后我需要调整此数组的大小,但 array.resize 函数似乎不起作用。我想将数组更改为 [10,10]。谁能帮我上路?

【问题讨论】:

  • 我认为您遇到了这个问题,因为数组是二维数组而不是多维数组。根据这个答案stackoverflow.com/a/6539620/2208058,数组调整大小功能将所有数组视为一维。该答案还包括一个解决方案。
  • “它不起作用”不是问题陈述。
  • Resize "将一维数组的元素个数更改为指定的新大小。"

标签: c# arrays resize 2d structure


【解决方案1】:

一旦指定了大小,就无法调整数组的大小。它们固定在您指定其大小的位置。如果您想要动态的东西,请尝试使用列表或字典之类的东西。您必须创建一个更大的新数组并将现有数据复制到其中。

所以你的代码可能是这样的:

struct UurroosterKlasStruct
{
   public int Vak;
   public int Lkr;
}
UurroosterKlasStruct[,] UurroosterKlas;`
UurroosterKlas = new UurroosterKlasStruct[10,10];

【讨论】:

  • 为了澄清,一旦设置了尺寸,它就是固定的。
  • 我同意,但这不是你说的。
  • @TigOldBitties:数组无法调整大小。如果不指定大小则不存在数组,它只是一个没有值的变量。
  • @Guffa 你应该让 msdn 知道他们的链接是错误的。
  • @TigOldBitties:什么链接?
猜你喜欢
  • 2015-06-22
  • 1970-01-01
  • 1970-01-01
  • 2020-11-28
  • 2017-01-01
  • 2013-03-15
  • 1970-01-01
  • 2010-12-22
  • 2023-04-01
相关资源
最近更新 更多