【发布时间】:2011-07-13 00:17:19
【问题描述】:
我是 C# 新手,通常是 C 程序员,所以我无法找出最佳使用方法。希望我能得到一些建议来帮助我做出决定。
我有一个看起来像这样的结构(我在 C 中是这样做的):
struct structData
{
long type;
long myArray[50];
string text;
}
我创建了一个由这些结构组成的数组,我可以在全局/公开范围内不断地读/写。 (我需要将数据存储在那里,以便以后可以访问)
structData arrayOfStructs[50];
目标是像这样访问数据:
arrayOfStructs[0].type = 123;
arrayOfStructs[0].myArray[0] = 456;
当我尝试在 C# 中实现此功能时,会遇到各种错误:
“myArray”需要固定为50,但需要在不安全区域
如果我尝试初始化它“... = new ...”我会得到一个错误
首先,我应该使用 List 而不是数组吗?有性能差异吗?
其次,我应该创建一个类而不是结构,在构造函数中初始化数组,然后创建对象的列表/数组吗?您将如何实现这一点?
是的,我需要使用 longs。
【问题讨论】:
-
发布其余代码,包括您的数组初始化
-
语法相似并不意味着你应该用 C# 编写 C 代码。
-
我不是想用 C# 编写 C,我只是说我将如何在 C 中做到这一点,而不是我应该做的。这就是为什么我问我应该怎么做。