Heim  >  Artikel  >  Backend-Entwicklung  >  Detaillierte Erläuterung der Parameter und speziellen Instanztypen in ASP.NET

Detaillierte Erläuterung der Parameter und speziellen Instanztypen in ASP.NET

零下一度
零下一度Original
2017-07-02 11:58:361585Durchsuche

Dieser Artikel stellt hauptsächlich die Parameter und speziellen Typen und Funktionen in ASP.NET vor. Er ist sehr gut und hat Referenzwert.

1. Optionale Parameter und benannte Parameter

1. Optionale Parameter

Syntax:

[Modifikator] Name der Rückgabetypmethode (erforderlicher Parameter 1...erforderlicher Parameter n, optionaler Parameter 1...optionaler Parameter n) >


2. Benannte Parameter
static void BookList(string category,int pageIndex = 1)
        {
          //操作
        }
        //调用
        static void Main(string[] args)
        {
          BookList("C#"); //使用全部默认参数
          BookList("C#",2) //不使用默认参数
        }

Syntax:

Methodenname (1 Parametername: Parameter 1 Wert... Parameter n Name: Parameter n Wert)                                                                                                            , .NETs Spezial Typen


1. Implizite Typen

Implizite Typen haben hauptsächlich die folgenden Anwendungen: Deklaration lokaler Typvariablen, für Initialisierungsanweisung, foreach-Initialisierungsanweisung, using-Anweisung                                                                                                                                    Zuweisen Werte gleichzeitig


2.
static void BookList(string category,int pageIndex = 1)
        {
          //操作
        }
        //调用
        static void Main(string[] args)
        {
          BookList(category:"C#"); //使用全部默认参数
          BookList(category:"C#",pageIndex:2) //不使用默认参数
        }
Anonymer Klassentyp

(Sie können einen anonymen Typ über den neuen -Operator und den Anfangswert erstellen)

                                                                    

Hinweis: Die Die Anzahl der Attribute in anonymen Typen ist einmalig, d. h. die Attribute anonymer Paare sind schreibgeschützt

3. Dynamischer Typ (dynamischen Typ definieren)



  var list = new Student(); //Student为自定义类型
Zur Kompilierungszeit wird kein Fehler gemeldet, zur Laufzeit wird jedoch ein Fehler gemeldet , weil es keine Introduce-Methode gibt

4. Was ist der Unterschied zwischen dynamischen und var-Schlüsselwörtern? Var kann nur für lokale Variablen verwendet werden, nicht für Felder und Parameter; der Typ der Variablen wird zum Zeitpunkt der Kompilierung bestimmt dynamisch wird für Typenfelder, Methodenparameter, Methodenrückgabewerte verwendet und kann für generische Typparameter usw. verwendet werden. Kann jedem Typ zugewiesen oder zugewiesen werden                                                                                                                                                            kann jedem Typ zugeordnet oder zugewiesen werden

                                                 

oder

                    类型?变量名                    

                    eg:                    


 System.Nullable<int> num = null;
             System.Nullable<DateTime> birthday = null;
            //或
             int? num = null;
            DateTime? birthday = null;

                                                注:当把一个可空类型赋值给一个非空类型时,将引发编译错误            


   eg:int? num = null; int num2 = num;

            2.可以使用可空类型的属性,解决不能把一个可空类型赋值给一个非空类型

                (1) HasValue:属于bool类型,当变量包含非空值时,它被设置为true

                (2) Value:如果HasValue为true 则说明Value包含有意义的值,否则将引发InvalidOperaionException                          


   int? num1 = 5
        int num2 = num1??0;

三、特性

        1.C#的特性主要有以下特点

            为目标元素(可以是程序集、类、属性、方法)加入附加信息,类似于注释

            特性本质上也是一个雷,直接或间接的继承自Acttribute类

            特性命名都以Attribute结尾,但是在使用它时可以省略,.NET会自动找到对应得特性类

        2.语法

            [特性名] 或[特性名(参数值...)]            

            eg:             


[Obsolete]  //这个方法可用使用 但是编译时会警告
        [Obsolete("不要使用旧的方法,使用新的方法",false)]  //这个方法可用使用 但是编译时会警告
        [Obsolete("不要使用旧的方法,使用新的方法",true)]   //这个方法不可以使用,编译时会报错
        static void Old(){
          Console.WriteLine("这是旧方法!");
        }
        static void New(){
          Console.WriteLine("这是新方法!");
        }
        public static void Main(){
          Old();
        }

       3.自定义特性(继承Attribute)

            eg:         


[AttributeUsage(AttributeUsages.Class|AttributeUsages.Method,AllowMultiple=true)]
      [AttributeUsage(AttributeUsages.Class)]  //只能在类中进行使用
      [AttributeUsage(AttributeUsages.Method)]  //只能在方法中进行使用
      [AttributeUsage(AllowMultiple=true)]    //可以在同一个类上进行多次使用
      
      class DescriptionAttribute:Attribute{
        public string name{get;set;}
        public DescriptionAttribute(){}
        public DescriptionAttribute(string name){
          this.name = name
        }
      }

Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der Parameter und speziellen Instanztypen in ASP.NET. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn