我一直在努力尝试初始化一维数组而不知道它的大小,但是没有得到它; 请告诉我如何根据C#中的要求声明一个大小会动态增加的数组。
我的意思是,想要做这样的事情
class A
{
int[] myarray;
int i=0;
while(i<5)
{
myarray[i]==n;
n=n%10;
i++;
}
}
请帮助!!!
答案 0 :(得分:5)
在C中你必须使用Malloc和Realloc,在C#中你应该更喜欢List。
Class A {
List<int> integerList = new List<int>();
void DoSometing() {
for(int i = 0; i < somewhat; i++) {
integerList.Add(i);
}
}
}
答案 1 :(得分:1)
在C ++中:
#include <vector>
// ...
std::vector<int> myVector; // will resize as you 'push_back'
答案 2 :(得分:1)
语言中的解决方案是:
C:malloc()
和realloc()
C ++:std::vector
C#:List
答案 3 :(得分:0)
在C中你使用指针的malloc
在C ++中,你可以使用std :: vector&lt; T&gt;。
在C#中使用List&lt; T&gt;。
即在C中使用C ++中的指针,C#使用其中一个方便的容器类。
答案 4 :(得分:0)
这很容易......
int IAmTheSize = 183475; // just a random int. Replace it with your value.
int[] myArray = new int[IAmTheSize];
您可以使用任何大小初始化数组。
但如果您不知道它的确切大小,您可能需要查看List<>
类。
List<int> myList;
int i=0;
while(i < 5)
{
myList.Add(n);
n = n % 10;
i++;
}
从你的行动中,我意识到这是一种锻炼。
顺便说一句,在数组中分配值是使用=
运算符完成的,如myarray[i]=n;
,不 myarray[i]==n;
(实际上将返回bool / boolean / logical值) )。
您可以在此处详细了解List<>
课程:http://msdn.microsoft.com/en-us/library/6sh2ey19.aspx
答案 5 :(得分:0)
用户也可以使用ARRAYLIST
声明这种类型的数组System.Collections命名空间定义了一个名为ArrayList的类,它可以存储动态大小的对象数组。
ArrayList cities = new ArrayList();
cities.Add("Pune");
cities.Add("Mumbai");