Когда я использую C# Array.ConvertAll
, переменная в теле функции преобразователя больше не отображается в отладчике в Visual Studio 2017.
Например, в:
public static void Test()
{
Vector3[] OriginalArray = new Vector3 [3]{ new Vector3(1,2,3), new Vector3(4, 5, 6), new Vector3(7, 8, 9)};
int[] Indices = new int[2] { 2, 1};
Vector3[] SelectedArray = Array.ConvertAll(Indices, index => OriginalArray[index]);
}
Переменная OriginalArray
не отображается в окне отладчика «Local» / «Autos» / «Watch». В то время как переменная видна при использовании в порядке, указанном в приведенном ниже коде:
public static void Test2()
{
Vector3[] OriginalArray = new Vector3[3] { new Vector3(1, 2, 3), new Vector3(4, 5, 6), new Vector3(7, 8, 9) };
int[] Indices = new int[2] { 2, 1 };
List<Vector3> subverticesList = new List<Vector3>();
foreach (int index in Indices)
{
subverticesList.Add(OriginalArray[index]);
}
Vector3[] SelectedArray = subverticesList.ToArray();
}
См. Скриншоты: