我一直在尝试初始化一个一维数组,但是不知道它的大小,但是一直无法成功;请告诉我如何在C#中声明一个大小会根据需求动态增加的数组。
我的意思是,想做这样的事情
class A
{
int[] myarray;
int i=0;
while(i<5)
{
myarray[i]==n;
n=n%10;
i++;
}
}
请帮忙!!!
我一直在尝试初始化一个一维数组,但是不知道它的大小,但是一直无法成功;请告诉我如何在C#中声明一个大小会根据需求动态增加的数组。
我的意思是,想做这样的事情
class A
{
int[] myarray;
int i=0;
while(i<5)
{
myarray[i]==n;
n=n%10;
i++;
}
}
Class A {
List<int> integerList = new List<int>();
void DoSometing() {
for(int i = 0; i < somewhat; i++) {
integerList.Add(i);
}
}
}
#include <vector>
// ...
std::vector<int> myVector; // will resize as you 'push_back'
这些语言中的解决方案如下:
C语言: malloc()
和 realloc()
C++语言: std::vector
C#语言: List
这太容易了...
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;
(实际上将返回一个布尔/逻辑值)。
您可以在此处阅读有关 List<>
类的更多信息:http://msdn.microsoft.com/zh-cn/library/6sh2ey19.aspx
ArrayList cities = new ArrayList();
cities.Add("Pune");
cities.Add("Mumbai");
在 C 中,您使用指针的 malloc。
在 C++ 中,您可以直接使用 std::vector< T >。
在 C# 中使用 List< T >。
也就是说,在 C 中使用指针,在 C++ 和 C# 中使用方便的容器类之一。
int[5]
。 - Albin Sunnanbo