2012-04-25 3 views
0

구조체 내에 포함 된 배열을 일부 값으로 채우려 고 시도하고 있지만 오류가 계속 발생합니다.구조체의 배열 채우기 C#

내 구조는 잘 작동하는 것 같다 이니셜 나는 새로운 boardState를 생성하고이

boardState _state_ = new boardState(); 
     _state_.structid = 1; 
     _state_.state[9] = {'o','-','-','-','o','-','-','-','-','o'}; 

structid 같은 몇 가지 값을 채우기 위해 노력하고있어이

public struct boardState 
    { 
     public int structid; 
     public char[] state; 
    } 

울부 짖는 소리처럼 보인다 하지만 { 'o', '-'etc 등}에서 오류가 발생합니다. '; 예상했다. 나는 위의 코드를 훑어 보았고 아무 것도 없다는 것을 확신했다. 그래서이 방법없이 배열에 할당 할 수 없다고 추측한다. 어떻게 상태 배열에 할당 할 수 있습니까?

편집 : - 내가 빗나간 쉼표를 추가했지만 여전히 같은 오류가 발생합니다.

+2

사이드 노트 : 구조체 대신 클래스를 사용하십시오. 또는 C#에서 struct 사용의 결과가 무엇인지 확인하십시오. (http://stackoverflow.com/questions/13049/whats-the-difference-between-struct-and-class-in-net) –

+1

내가 Alexei와 동의하고, 일반적으로 나쁜 생각으로 여겨지는 변경 가능한 구조체가 있다고 덧붙인다. 또한 구조체에 객체를 가짐으로써 구조체의 목적 대부분이 사라졌습니다. – Guffa

답변

2

당신은 [9] 필요하지 않습니다. 단일 char 배열을 할당하려고합니다. 대신 다음을 사용하십시오.

_state_.state = new char [] {'o','-','-','-','o','-','-','-','-','o'}; 
+0

고맙습니다. –

+0

@E_S 도움이 되었기 때문에 기쁩니다. 답변을 수락 된 것으로 표시하는 것이 좋습니다. –

2

쉼표가없고 구문이 해제되어 있습니다.

_state_.state[9] = {'o','-','-','-','o','-','-','-','-''o'}; 

사람 : 보낸 사람 :

_state_.state = new char [] {'o','-','-','-','o','-','-','-','-','o'}; 
+0

그 점을 지적 해 주셔서 감사합니다. 그 쉼표를 추가했지만 여전히 동일한 오류가 발생했습니다 –

+0

첫 번째 2 줄뿐만 아니라 전체 답을 읽는 것을 고려해보십시오 ... –