开发者

How do you initialize a 1 dimensional array when you do not know the size in C#?

I had been trying really hard about initializing a 1 dimensional array without knowing its size, but dont get it; Please tell me how can I declare a array whose size will dynamically increase as per the requirement in C#.

I mean, want to do something like开发者_运维知识库 this

class A
{
    int[] myarray;
    int i=0;
    while(i<5)
    {
        myarray[i]==n;
        n=n%10;
        i++;
    }
}

Please Help !!!


In C you would have to work with Malloc and Realloc, in C# you should prefer a List.

Class A {
   List<int> integerList = new List<int>();

   void DoSometing() {   
   for(int i = 0; i < somewhat; i++) {
         integerList.Add(i);
      }
   }
}


In C++:

 #include <vector>

 // ...

 std::vector<int> myVector;  // will resize as you 'push_back'


The solutions in the languages are:

C: malloc() and realloc()

C++: std::vector

C#: List


In C you use a malloc of a pointer.
In C++ you could just use a std::vector< T >.
In C# use a List< T >.

ie in C use a pointer in C++ and C# use one of the handy container classes.


It's so easy...

int IAmTheSize = 183475; // just a random int. Replace it with your value.
int[] myArray = new int[IAmTheSize];

You can initialize the array(s) with any size. But if you don't know the precise size it will have, you might want to have a look at the List<> class.

List<int> myList;

int i=0;
while(i < 5)
{
    myList.Add(n);
    n = n % 10;
    i++;
}

From the operations you do, I realize this is some sort of exercising. BTW, assigning a value in the array is done with the = operator, like myarray[i]=n;, not myarray[i]==n; (will return a bool/boolean/logical value actually).


You can read more about the List<> class here: http://msdn.microsoft.com/en-us/library/6sh2ey19.aspx


User can also declare this type of array using ARRAYLIST

System.Collections namespace defines a class known as ArrayList that can store dynamic sized array of objects.

   ArrayList cities = new ArrayList();
   cities.Add("Pune");
   cities.Add("Mumbai");
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜