Zeiger in C# zu machen int-array?

Den folgenden C++ - Programm wird kompiliert und läuft, wie erwartet:

#include <stdio.h>

int main(int argc, char* argv[])
{
    int* test = new int[10];

    for (int i = 0; i < 10; i++)
            test[i] = i * 10;

    printf("%d \n", test[5]); //50
    printf("%d \n", 5[test]); //50

    return getchar();
}

Den nächsten C# einfaches Beispiel, ich könnte für diese Frage ist:

using System;

class Program
{
    unsafe static int Main(string[] args)
    {
        //error CS0029: Cannot implicitly convert type 'int[]' to 'int*'
        int* test = new int[10];

        for (int i = 0; i < 10; i++)
            test[i] = i * 10;

        Console.WriteLine(test[5]); //50
        Console.WriteLine(5[test]); //Error

        return (int)Console.ReadKey().Key;
    }
}

Also wie mache ich die Zeiger?

  • Fragen Sie sich, warum Sie wollen, zu manipulieren Zeiger direkt in einer verwalteten Sprache.
  • Weil mir langweilig ist 😀
  • Lindern Sie Ihre Langeweile mit dem Lesen Kapitel 18 der Spezifikation-zweimal -, bevor Sie versuchen zu schreiben, unsichere code in C#.
InformationsquelleAutor y2k | 2010-03-30
Schreibe einen Kommentar