この記事では、ASP.NET のパラメーターと特殊な型と特性を主に紹介します。非常に優れており、必要な友人は参照できます
1. オプションのパラメーターと名前付きパラメーター
1. オプションのパラメーター
構文:
[修飾子] 戻り値の型メソッド名 (必須パラメーター 1...必須パラメーター n、オプション パラメーター 1...オプション パラメーター n)
1 つの値...パラメータ n 名: パラメータ n の値)
static void BookList(string category,int pageIndex = 1) { //操作 } //调用 static void Main(string[] args) { BookList("C#"); //使用全部默认参数 BookList("C#",2) //不使用默认参数 }
2 .NET の特殊な型
1. 暗黙的な型
暗黙的な型には、主に次のようなアプリケーション シナリオがあります: 初期化ステートメントのローカル型変数の宣言、声明の初期化ステートメントを使用して、声明を使用して、匿名クラスタイプ(new
operatorsを介して取得でき、匿名タイプを作成する)注:匿名型での属性の割り当ては1つです。 time、つまり匿名ペアの属性は読み取り専用です。 3. 動的型 (動的型の定義) メソッド
4. Dynamic キーワードと var キーワードの違いは何ですか? VAR はローカル変数にのみ使用でき、フィールドやパラメーターには使用できません。変数の型は、フィールドの型、メソッドのパラメーター、および
类型?变量名
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 中国語 Web サイトの他の関連記事を参照してください。