Bonjour, après-midi ou la nuit,indexation sécurité à l'intérieur code unsafe
Avant-propos: Le code ci-dessous ne rien vraiment utile. C'est juste à des fins d'explication.
Y a-t-il quelque chose qui cloche dans l'allocation et l'utilisation d'un tableau "le mode sans échec" dans un code dangereux? Par exemple, dois-je écrire mon code comme
public static unsafe uint[] Test (uint[] firstParam, uint[] secondParam)
{
fixed (uint * first = firstParam, second = secondParam)
{
uint[] Result = new uint[firstParam.Length + secondParam.Length];
for (int IndTmp = 0; IndTmp < firstParam.Length; Result[IndTmp] = *(first + IndTmp++));
for (int IndTmp = 0; IndTmp < secondParam.Length; Result[IndTmp + firstParam.Length] = *(second + IndTmp++);
return Result;
}
}
ou devrais-je écrire à la place une méthode distincte, peu sûr d'accepter uniquement des pointeurs et des longueurs en tant que paramètres et l'utiliser dans la fonction principale?
Aussi, est-il possible que je peux remplacer l'allocation par
uint * Result = stackalloc uint[firstParam.Length + secondParam.Length]
pour que je puisse utiliser Result
comme pointeur et être encore capable de revenir Result
comme uint[]
?
Merci beaucoup.