알 수없는 구조체 배열이 있습니다. 나는 어떤 인덱스를 얻으려고 할 때 나는이 개체의 새 인스턴스를 얻을 :Array.GetValue()는 구조체 객체의 새 인스턴스를 반환합니다.
var inst = ((SomeStruct)((Array)arrOfSomeStruct).GetValue(0));
이제 이달이 arrOfSomeStruct에서 다른 인스턴스 [0]을.
무엇 배열 항목의 원본 인스턴스를 얻을 수있는 최고의 또는 빠른 방법이며, NOT [] 연산자를 사용하여?
: 일부 극단적 인가지 경우에
는 안전하지 않은 코드의 사용은 최후의 수단인가? – Enigmativity
정말 성취하려는 것은 무엇입니까? 'var inst2 = inst1;'처럼 구조체 값을 변수에 __assign__하자마자 값이 복사되어 새로운 인스턴스가 생성됩니다. 'var inst = (SomeStruct) obj;'와 같이'object' 박스에있는 구조체 값을 __unbox__하자마자 새로운 값/인스턴스가 생성됩니다. 'public object GetValue() {/ * ... */return someStruct/* boxing!}과 같이 구조체 값을 암시 적으로 __box__하자마자! * /; }'새 인스턴스가 새 상자에 만들어집니다. 구조체를 변경할 수 있거나 변경할 수 있습니까? –
'var inst = orig_arr.GetValue (0); inst.x = 5; // 이제 orig_arr.x! = inst.x' – Guy