2012-12-26 2 views
0

J'ai une classe personnalisée définie:C# retour classe personnalisée tableau

class Car 
{ 
    public string a; 
    public string b; 
    public string c; 

    public static void GetCar() 
    { 
     var car = new Car[4]; 
     for(int i=0; i<4; ++i) 
     { 
      novica[i]= new Novica(); 
      novica[i].a="abc"; 
      novica[i].b="abc"; 
      novica[i].c="abc"; 
     } 

    } 
} 

Ce remplit le tableau avec des valeurs, et maintenant je voudrais utiliser ce tableau avec les valeurs qu'il gets (chaîne de chargement de HTML) dans une fonction qui ne fait pas partie de cette classe. Est-ce possible et si oui, comment?

+2

Vous devez être plus élaboré en précisant ce que vous voulez. – jeremy

+0

J'imagine que vous voulez vraiment 'car [i] = nouveau Novica();' etc –

+0

Désolé pour novica - c'est censé être la voiture là-bas. Copiez et collez: D – fanboy555

Répondre

5

Pour l'utiliser ailleurs, vous aurait besoin de retourner le tableau de votre fonction, comme ceci:

public static Car[] GetCar() 
    { 
     var car = new Car[4]; 
     for(int i=0; i<4; ++i) 
     { 
      car[i]= new Novica(); 
      car[i].a="abc"; 
      car[i].b="abc"; 
      car[i].c="abc"; 
     } 

     return car; 
    } 
+1

Cela semble correct. Je pense qu'il veut revenir 'novica' cependant. –

+0

Merci, cela fonctionne. – fanboy555

2

Vous ne pouvez pas. Votre méthode ne retourne rien.

Si vous deviez changer la signature de méthode pour retourner le tableau de la méthode crée:

public static Car[] GetCar() 
{ 
    // Body 

    return car; 
} 

L'appel deviendrait aussi simple que:

var cars = Car.GetCar(); 
0

Je suggère un peu y construction différente. Fournir un tableau contenant toutes les voitures propriétés statiques

public class Car 
{ 
    public static Car[] AllCars { get; private set; } 

    public Car() 
    { 
     // Class and constructor somewhat simplyfied. 
     AllCars = new Car[4]; 
     for (int i = 0; i < 4; ++i) { 
      AllCars[i] = new Novica(); 
     } 
    } 
} 

Maintenant, vous pouvez travailler avec des voitures comme ce

foreach (Car car in Car.AllCars) { 
    // do something with car 
} 

Ou accéder à une voiture spécifique avec

string a = Car.AllCars[i].a; 
Questions connexes