構造型の配列が不明です。私はいくつかのインデックスを取得しようとしているとき、私は、このオブジェクトの新しいインスタンスを取得します:Array.GetValue()は構造体オブジェクトの新しいインスタンスを返します
var inst = ((SomeStruct)((Array)arrOfSomeStruct).GetValue(0));
今研はarrOfSomeStruct [0]異なるインスタンスです。
最高または配列項目の元のインスタンスを取得するための最速方法、およびNOT []演算子を使用しては何ですか?
あなたはそれをやろうとしているが、ソース 'struct'が必要ですか? – 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; // Now orig_arr.x!= inst.x' – Guy