Compilerwarnung (Stufe 1) CS1060Compiler Warning (level 1) CS1060

Verwendung des möglicherweise nicht zugewiesenen Felds 'Name'.Use of possibly unassigned field 'name'. Als erstes wird die Zuweisung von Strukturinstanzvariablen aufgehoben, wenn die Struktur nicht zugewiesen ist.Struct instance variables are initially unassigned if struct is unassigned.

Strukturmember werden mit ihrem Standardwert initialisiert, wenn Sie sie nicht explizit initialisieren.Struct members are initialized to their default value if you do not explicitly initialize them. Der Standardwert für Klassentypen (und andere Verweistypen) ist NULL.The default value for class types (and other reference types) is null. Wenn die Klasse nicht initialisiert wird, bevor versucht wird, auf sie zuzugreifen, wird zur Laufzeit eine NullReferenceException ausgelöst.If the class is not initialized before any attempt to access it, a NullReferenceException will be thrown at runtime. Der Compiler kann nicht definitiv bestimmen, ob der Klassenmember initialisiert wird, weshalb CS1060 eine Warnung und kein Fehler ist.The compiler cannot determine definitively whether the class member will be initialized or not, and so CS1060 is a warning and not an error.

So beheben Sie diesen FehlerTo correct this error

  1. Stellen Sie einen Konstruktor für die struct bereit, die alle Member initialisiert.Provide a constructor for the struct that initializes all its members.

BeispielExample

Der folgende Code generiert CS1060, da der Klassentyp U ein Member der struct S ist, aber nicht initialisiert wurde.The following code generates CS1060 because the class type U is a member of the struct S but is never initialized.

// cs1060.cs  
namespace CS1060  
{      
    public class U  
    {  
        public int i;  
    }  

    public struct S  
    {  
        public U u;  
        // Add constructor to correct the error.  
        //public S(int val)  
        //{  
        //    u = new U() { i = val };  
        //}  
    }  
    public class Test  
    {  
        static void Main()  
        {  
            S s;  
            s.u.i = 5;  // CS1060  

            //Try these lines instead, and uncomment the constructor in S  
            // S s = new S(0);  
            // s.u.i = 5;  

        }  
    }    
}  

Siehe auchSee Also

StrukturenStructs