国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

ASP.NET中的參數與特殊類型和特性

2024-07-10 13:32:28
字體:
來源:轉載
供稿:網友

一、可選參數和命名參數

        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中的參數與特殊類型和特性,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對VeVb武林網網站的支持!


注:相關教程知識閱讀請移步到ASP.NET教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 安平县| 阳泉市| 昌江| 四会市| 象州县| 洞头县| 公安县| 夏邑县| 道孚县| 永登县| 涟源市| 和硕县| 宣化县| 铁岭县| 洪江市| 梅州市| 固安县| 梓潼县| 吉木萨尔县| 建昌县| 罗源县| 颍上县| 轮台县| 登封市| 白沙| 武强县| 政和县| 宾川县| 同江市| 沾益县| 门源| 宁强县| 通州市| 盘山县| 思南县| 枣强县| 乐平市| 潼关县| 桐柏县| 巫山县| 同仁县|