it is code for array it run but didn't print the array element please help me

Console.WriteLine("Enter the Number of student :");
int x = int.Parse(Console.ReadLine());
student []array = new student[x];


int count=1;
for (int i = 0; i < array.Length; i++)
{
Console.WriteLine("Enter info of student {0}",count);
Console.WriteLine("Name :");
array[0].name = Console.ReadLine();
Console.WriteLine("Gender :");
array[0].gender = Console.ReadLine();
Console.WriteLine("Tel :");
int tel = int.Parse(Console.ReadLine());
array[0].tel = tel;
Console.WriteLine("class :");
array[0].classe  = Console.ReadLine();
count++;


}


Console.WriteLine(array[0]);

Recommended Answers

All 9 Replies

>student []array = new student[x];
This creates an array of references to student objects. It doesn't create the actual student objects. You need to do that as well in your loop:

student[] array = new student[x];

for ( int i = 0; i < array.length; i++ ) {
  array[i] = new student();

  //...
}

>Console.WriteLine(array[0]);
That's not going to print the contents of a student object.

thanks alot but it didn't print the array elements it print like this
school.student only
but i want to print element with index [0]
which have name,tel,class,..

thanks for helping

>thanks alot but it didn't print the array elements
I know that. That's why I said, and I quote, because you obviously didn't read it: "That's not going to print the contents of a student object.".WriteLine doesn't know what a student class is, so how can you expect it to print the members correctly? It's treated as an object and printed accordingly. If you want to print the members, you do so manually:

Console.WriteLine ( array[0].name );
Console.WriteLine ( array[0].gender );
Console.WriteLine ( array[0].tel );
Console.WriteLine ( array[0].classe );

Clearly my original helpful comment wasn't enough for someone who wants to be spoonfed.

Thanks alot
I own for you
but new problem is
i want now insert new element without lost old elements in the array can you help me

The use of an array with dynamic adding of entries is a little bit more...complex I think.

I'd advise to use an arraylist for that. Do know that if you store an object in an arraylist, that you will still have to parse the item in your arraylist to a student - object.

Hope this helps,
Jens

>I'd advise to use an arraylist for that.
I'd advise against the non-generic collections unless you have a good reason (such as compatibility with the framework prior to .NET 2.0). Rather than ArrayList, use List<> from System.Collections.Generic.

Ah, true. Forgot about generics.
I was quite tired when I wrote that, so disregard arraylists.

Thanks for correcting me narue.

thanks for you all

public void Number() please this code displays must declare a body because it not marked abstract, extern or partial.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.