首頁 >後端開發 >C#.Net教程 >ASP.NET中的參數與特殊類型的實例詳解

ASP.NET中的參數與特殊類型的實例詳解

零下一度
零下一度原創
2017-07-02 11:58:361661瀏覽

這篇文章主要介紹了ASP.NET中的參數與特殊類型和特性,非常不錯,具有參考借鑒價值,需要的朋友可以參考下

#一、選用參數與命名參數

        1、選擇性參數

         

        

#                [修飾  eg:


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

        2、命名參數

            語法值...參數n名稱:參數n值)                

#           特殊型別 

      

#  1、隱含型別

            隱式型別類型主要有幾種應用程式聲明:局部宣告變數、符號應用程式碼、foreach初始化語句、using語句                          進行賦值             

##       2、匿名類別

型(可以透過new

運算1名:屬性1值,...屬性n名稱:屬性n值}            


          ”           註:匿名型別中的屬性的賦值是一次性的,即匿名對的屬性是唯讀的           


    

   

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

            編譯時不會錯誤,且運作時會報錯,因為沒有Introduce方法          ?             var只能用於局部變量,且不能用於欄位和參數;宣告的同時必須初始化;變數的型別在編譯時就決定了      字段、方法參數、方法返回值,可用於泛型類型參數等;可以賦值或被賦值任何類型

                    不需要強制

類型轉換


5、可空白型別


         

  1.語法:     
  

變數名

                    或

                    类型?变量名                    

                    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中的參數與特殊類型的實例詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn