class UnsafeExample{
public static unsafe void Swap(int* a, int*b)
{
int temp = *a;
*a = *b;
*b = temp;
}
public static unsafe void Sort(int* array, int size)
{
for(int i = 1; i < size; i++)
{
for(int j = i - 1; j >=0 && array[j] > array[j+1]; j--)
{
Swap(&array[j], &array[j+1]);
}
}
}
public static unsafe void Main(string[] args){
int[] array = new int[10];
for (int i = 0; i < 10; i++)
{
array[i] = 10 - i;
}
fixed( int* cArray = array )
{
Sort(cArray, 10);
}
}
}