2012-01-09 2 views
0

간단한 예를 나는 ATestBTest 동적으로 값을 기준으로 작성해야- 시나리오의 C#

class ATest 
{ 
    int a; 
    int b; 
    BTest[]; 
} 

class BTest 
{ 
    int X; 
    int Y; 
} 
  • 구현하기 위해 노력하고 있습니다.
  • 나는 (이 카운트 값을 프로그래밍 방식으로 설정됩니다)
  • 가 지금은 동적으로 B의 객체의 배열을 만들고 A
  • 에 할당해야 현재 내가 계산을위한 정적 값을 가정하고 할당 Atest[] aobj = new Atest[count];로 시도

    Atest[] aobj = new Atest[20]; 
    BTest[] bobj = new BTest[1]; 
    bobj[0] = new Btest(); 
    aobj[0] = new ATest(); 
    aobj[0].BTest = bobj; 
    BTest[] bobj1 = new BTest[1]; 
    bobj1[0] = new Btest(); 
    aobj1[0].BTest = bobj1; 
    

코드에 가장 좋은 방법이 될 수 없습니다.

동적으로 그것을 구현하는 제안하십시오 - 동적 BTest 객체 배열의 수를 생성하고 ATest 인스턴스

에 대한 할당
+0

배열의 용량 재설정 (BTest 또는 ATest)은 어떻게합니까? Count setter? –

+0

클래스 접근법을 사용하면 동적으로 Atest 및 Btest 객체를 만드는 목적을 해결할 수 있다고 생각합니다. – Siva

답변

2

생성자 사용해보십시오 :

class ATest { 
    int a; 
    int b; 
    BTest[] btests; 
    public ATest(int numOfB) { 
     btests = new BTest[numOfB]; 
    } 
} 

다음은 작성하고 귀하의 atests를 초기화 할 수 있습니다 단순 루프 :

int M = 20; // Number of Test A objects 
int N = 10; // Number of Test B objects per Test A 
var atests = new ATest[M]; 
for (var i = 0 ; i != M ; i++) { 
    atests[i] = new ATest(N); 
} 
+0

나는 그것을 시도 할 것이다. 답변 해주셔서 감사합니다 – Siva

관련 문제