這篇文章主要介紹了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只能用於局部變量,且不能用於欄位和參數;宣告的同時必須初始化;變數的型別在編譯時就決定了 字段、方法參數、方法返回值,可用於泛型類型參數等;可以賦值或被賦值任何類型
不需要強制類型轉換
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中文網其他相關文章!