2012-12-26 59 views
0

我定義了一個自定義類:C#返回定製類Array

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"; 
     } 

    } 
} 

這填滿了值的陣列,現在我想用這個數組中它得到的值(從HTML加載字符串)一個不屬於這個類的功能。這是可能的,如果是這樣,怎麼樣?

+2

你需要更精細指定你想要的。 – jeremy

+0

我想你真的想'汽車[我] =新Novica();'等 –

+0

對不起novica - 它應該是汽車那裏。複製並粘貼:D – fanboy555

回答

5

爲了在其他地方使用它,你將需要從您的功能返回陣列,如下所示:

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

這看起來不錯。我認爲他想要返回novica。 –

+0

謝謝,它的工作原理。 – fanboy555

2

你不能。你的方法實際上不會返回任何東西。

如果你要改變方法簽名返回方法創建數組:

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

    return car; 
} 

的通話將變得簡單:

var cars = Car.GetCar(); 
0

我建議輕微y不同的結構。提供包含所有汽車作爲靜態屬性數組

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(); 
     } 
    } 
} 

現在你可以用汽車這樣的工作

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

或訪問一個特定的汽車與

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