2012-12-26 2 views
0

나는 사용자 정의 클래스 정의가 :이 값으로 배열을 채 웁니다C#을 반환 사용자 정의 클래스 배열

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

나는 실제로 당신이'car [i] = new 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;