国产探花免费观看_亚洲丰满少妇自慰呻吟_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教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 清远市| 安塞县| 临江市| 深泽县| 香河县| 吴桥县| 新竹市| 公主岭市| 海城市| 桂平市| 海淀区| 诸城市| 和平县| 广元市| 华安县| 韶山市| 交口县| 含山县| 锦州市| 渝中区| 和田县| 丁青县| 广东省| 蓝田县| 长顺县| 赣州市| 旌德县| 盐城市| 高安市| 西城区| 高唐县| 定远县| 天峻县| 靖宇县| 和顺县| 牙克石市| 永胜县| 巴林右旗| 聊城市| 彭水| 新乡县|