Ereignisse
17. März, 23 Uhr - 21. März, 23 Uhr
Nehmen Sie an der Meetup-Serie teil, um skalierbare KI-Lösungen basierend auf realen Anwendungsfällen mit Mitentwicklern und Experten zu erstellen.
Jetzt registrierenDieser Browser wird nicht mehr unterstützt.
Führen Sie ein Upgrade auf Microsoft Edge durch, um die neuesten Features, Sicherheitsupdates und den technischen Support zu nutzen.
Auf Puffer fester Größe kann nur über lokale Variablen oder Felder zugegriffen werden
Eine neue Funktion in C# 2.0 ist die Möglichkeit zum Definieren eines Inlinearray innerhalb von struct
. Auf solche Arrays kann nur über lokale Variablen oder Felder zugegriffen werden und sie können nicht als Zwischenwerte auf der linken Seite eines Ausdrucks verwiesen werden. Darüber hinaus kann auf die Arrays nicht durch Felder zugegriffen werden, die static
oder readonly
sind.
Definieren Sie eine Arrayvariable, und weisen Sie der Variablen das Inlinearray zu, um diesen Fehler zu beheben. Oder Sie entfernen den static
- oder readonly
-Modifizierer aus dem Feld, welches das Inlinearray darstellt.
Im folgenden Beispiel wird CS1708 generiert.
// CS1708.cs
// compile with: /unsafe
using System;
unsafe public struct S
{
public fixed char name[10];
}
public unsafe class C
{
public S UnsafeMethod()
{
S myS = new S();
return myS;
}
static void Main()
{
C myC = new C();
myC.UnsafeMethod().name[3] = 'a'; // CS1708
// Uncomment the following 2 lines to resolve:
// S myS = myC.UnsafeMethod();
// myS.name[3] = 'a';
// The field cannot be static.
C._s1.name[3] = 'a'; // CS1708
// The field cannot be readonly.
myC._s2.name[3] = 'a'; // CS1708
}
static readonly S _s1;
public readonly S _s2;
}
Feedback zu .NET
.NET ist ein Open Source-Projekt. Wählen Sie einen Link aus, um Feedback zu geben:
Ereignisse
17. März, 23 Uhr - 21. März, 23 Uhr
Nehmen Sie an der Meetup-Serie teil, um skalierbare KI-Lösungen basierend auf realen Anwendungsfällen mit Mitentwicklern und Experten zu erstellen.
Jetzt registrieren