- Home /
Question by
Toxic Blob · May 31, 2011 at 07:10 PM ·
arraypragma
Downcasting Array to int (without #pragma downcast)
How can I cast a single element from an Array to an integer, while #pragma strict is on, and without using #pragma downcast?
#pragma strict
private var _index : int = 1;
private var possibleIndices : Array = new Array();
private var currentIndex : int;
// the following only works when #pragma downcast is active
locationIndex = possibleLocations[_index];
// the following fails when #pragma downcast is not active
locationIndex = possibleLocations[_index] as int;
Comment
Best Answer
Answer by Mike 3 · May 31, 2011 at 07:20 PM
I don't think you can - there's no cast operator
I would honestly skip on using Array, it's untyped and will cause a fairly large amount of garbage when boxing/unboxing your ints
Instead, use a List., like so:
import System.Collections.Generic;
private var possibleIndices = new List.<int>();
You can then use .Add to add things in, and access items with possibleIndices[i] as before
Your answer