中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

ASP.NET中參數與特殊類型的特性有哪些

發布時間:2021-01-28 09:33:05 來源:億速云 閱讀:159 作者:Leah 欄目:開發技術

今天就跟大家聊聊有關ASP.NET中參數與特殊類型的特性有哪些,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。

一、可選參數和命名參數

        1、可選參數

           語法:

                [修飾符] 返回類型 方法名(必選參數1...必選參數n,可選參數1...可選參數n)                 

           eg:

static void BookList(string category,int pageIndex = 1)
        {
          //操作
        }
        //調用
        static void Main(string[] args)
        {
          BookList("C#"); //使用全部默認參數
          BookList("C#",2) //不使用默認參數
        }

        2、命名參數

            語法:

                方法名(參數1名:參數1值...參數n名:參數n值)                

            eg:

static void BookList(string category,int pageIndex = 1)
        {
          //操作
        }
        //調用
        static void Main(string[] args)
        {
          BookList(category:"C#"); //使用全部默認參數
          BookList(category:"C#",pageIndex:2) //不使用默認參數
        }

二、.NET的特殊類型 

        1、隱式類型

            隱式類型主要有以下幾種應用場合:聲明局部類型變量、for初始化語句、foreach初始化語句、using語句          

           eg:           

  var list = new Student(); //Student為自定義類型

   注:使用var,必須在聲明變量的同時進行賦值             

       2、匿名類型(可以通過new運算符和對初始值來創建匿名類型)

            new{屬性1名:屬性1值,...屬性n名:屬性n值}            

            eg:           

   var stu = new {Name="張三",Age=18,Gender="男"};

            注:匿名類型中的屬性的賦值是一次性的,即匿名對的屬性是只讀的           

        3、dynamic類型(定義動態類型)          

 //創建1個動態類型對象
       dynamic person1 = new Student{Name="Bing",Age=20};
      person1.Introduce();

            在編譯時不會報錯,在運行時會報錯,因為沒有Introduce方法            

        4、dynamic與var關鍵字有什么區別?

            var只能用于局部變量,不能用于字段和參數;聲明的同時必須初始化;變量的類型在編譯時就確定了

            dynmic用于類型的字段、方法參數、方法返回值,可用于泛型類型參數等;可以賦值或被賦值任何類型

                    不需要強制類型轉換

        5、可空類型

            1.語法:       

                    System.Nullable<類型> 變量名

                    或

                    類型?變量名                    

                    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
        }
      }

看完上述內容,你們對ASP.NET中參數與特殊類型的特性有哪些有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

临洮县| 白山市| 通化县| 新蔡县| 建瓯市| 广宗县| 将乐县| 阳江市| 德江县| 湄潭县| 九寨沟县| 文山县| 蒙山县| 广州市| 榆树市| 正镶白旗| 河间市| 城固县| 西峡县| 英德市| 太原市| 油尖旺区| 始兴县| 扎兰屯市| 柳江县| 新乐市| 章丘市| 南宫市| 玉山县| 余庆县| 潼关县| 满洲里市| 湖北省| 台北市| 保亭| 辽阳县| 齐齐哈尔市| 天等县| 扶绥县| 兴宁市| 乌拉特中旗|