Hey
I am a beginner to c#.
I was wondering what you do when you have an array of objects such as:

//assume dog is a class that does something
private Dog[] dogs;
int numberOfDogs = 2;
for (int i = 0; i < numberOfDogs; i++) {
    Console.WriteLine("Please enter your name");
    dogs[i] = dogs[i].GetName();// This is where I get the error Cannot implicitly   convert type 'string' to type DogNames.Dog
                
 }


Dog.cs:
 public string GetName(){
      Console.WriteLine("Please enter your name");
      string name = Console.ReadLine();
      return name;
      }

I understand the bug. The type is Dog not string, but how do I get around this?? When it's a string to object I just use .toString or casting (string) but I can't exactly do toObject or toDog? An explanation would be great. I keep getting stuck on this with everything I try to program.

Recommended Answers

All 2 Replies

Need to see more of the Dog class. Are you trying to set the name of the dog? Is there something in the Dog class that can hold the name?

Also, your code won't run. The dogs variable, while declared, never has anything assigned to it. You need a new statement right after the int numberOfDogs line, something like this: dogs = new Dogs[numberOfDogs];

Sry if this is not the answer you seek, i am a begginer to C# too but I think i had similar problem with you

private dog[] dogVariable = new dog[3] 

for (int i=0; i<=2;i++)
{
dogVariable[i] = new dog(); //creates an array with 3 dogs
}

After this you can go and get the name

dogVariable[i].getName()

I hope to help you and not confuse you more :p

That's how I made it work ;)

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.