954,152 Members — Technology Publication meets Social Media
Username:
Password:
Lost login information?
Have something to say? Contribute New Article Reply to this Article

please help me in this code

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]);

cresol
Newbie Poster
5 posts since Apr 2008
Reputation Points: 10
Solved Threads: 0
 

>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.

Narue
Bad Cop
Administrator
15,460 posts since Sep 2004
Reputation Points: 6,464
Solved Threads: 1,401
 

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

cresol
Newbie Poster
5 posts since Apr 2008
Reputation Points: 10
Solved Threads: 0
 

>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.

Narue
Bad Cop
Administrator
15,460 posts since Sep 2004
Reputation Points: 6,464
Solved Threads: 1,401
 

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

cresol
Newbie Poster
5 posts since Apr 2008
Reputation Points: 10
Solved Threads: 0
 

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

Jens
Light Poster
49 posts since Apr 2008
Reputation Points: 13
Solved Threads: 6
 

>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.

Narue
Bad Cop
Administrator
15,460 posts since Sep 2004
Reputation Points: 6,464
Solved Threads: 1,401
 

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

Thanks for correcting me narue.

Jens
Light Poster
49 posts since Apr 2008
Reputation Points: 13
Solved Threads: 6
 

thanks for you all

cresol
Newbie Poster
5 posts since Apr 2008
Reputation Points: 10
Solved Threads: 0
 

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

Prince Adusei-O
Newbie Poster
2 posts since May 2011
Reputation Points: 10
Solved Threads: 0
 

This article has been dead for over three months

Post: Markdown Syntax: Formatting Help
You