2017-10-11 6 views
0

일반 개체로 Interlocked.CompareExchange()을 사용하는 것에 익숙합니다. 그러나 배열의 구성원과 함께 사용하고 싶습니다 :Interlocked.CompareExchange와 함께 배열 항목을 사용하는 방법

string[] myArray = new string[] { "A", "B", "C" }; 
string myStr = (string) Interlocked.CompareExchange(ref myArray[0], null, myArray[0]); 
// myArray[0] == null 

어떻게이 작업을 수행 할 수 있습니까?

+1

그런 해결책으로 어떤 문제가 있습니까? – Servy

+0

글쎄, 모든게 잘된 것 같아. 코드를 실행하고 완벽하게 괜찮습니다. 도움이 필요한 곳을 볼 수 있을지 확신 할 수 없습니다. – Iman

+0

정말 원래의 오해를 오해했습니다! –

답변

1

나는이

처럼 사용하고 그리고 이것은 아웃

F B C 

모든 것이 괜찮

을 넣어이다.

1

문제가 표시되지 않습니다. 배열의 첫 번째 문자열을 null로 설정합니다. 그래서 그것이 null입니다. 사용 방법은 다음과 같습니다.

string[] myArray = new string[] { "A", "B", "C" }; 
string myStr = (string) Interlocked.CompareExchange(ref myArray[0], ASDF /* VALUE */, 
myArray[0]); 
//myArray[0] == "ASDF" <- VALUE YOU SET