У меня вопрос о unsafe code
функциях.
Как я понимаю, мне нужно использовать его, потому что я использую pointers
. Я не совсем уверен, как это работает. Поэтому я попробую с некоторыми вопросительными знаками посмотреть, смогу ли я разобраться в этом лучше.
Правда ли, что небезопасный код устраняет издержки для переменных fixed
. Другими словами. Только те, которые объявлены в фактическом фиксированном утверждении, как это:
fixed (int* ptr = arraynums)
Глядя на мой пример кода ниже. У меня будут переменные, размер которых изменяется В СХЕМЕ вышеупомянутого оператора fixed
. Тогда эти переменные будут managed code
, которые будут иметь разные размеры на каждой итерации 1000 итераций.
Мой вопрос здесь. Можно ли смешивать управляемые переменные / ресурсы, как в моем примере, которые принимают разные размеры и .Counts внутри for (int i = 0; i < 1000; i++)
?
unsafe void testing()
{
int[] arraynums = new int[100000];
fixed (int* ptr = arraynums)
{
for (int i = 0; i < 1000; i++)
{
int[] array1 = new int[58745]; //Will take different number of elements each time
List<String> list1 = new List<String>();
list1.Add(""); //Will add different number of elements each time
StreamWriter streamWriter1; //Write to different files
}
}
}