Dieser Artikel stellt hauptsächlich die Parameter und speziellen Typen und Funktionen in ASP.NET vor. Er ist sehr gut und hat Referenzwert.
1. Optionale Parameter und benannte Parameter
1. Optionale Parameter
Syntax:
[Modifikator] Name der Rückgabetypmethode (erforderlicher Parameter 1...erforderlicher Parameter n, optionaler Parameter 1...optionaler Parameter n) >
static void BookList(string category,int pageIndex = 1) { //操作 } //调用 static void Main(string[] args) { BookList("C#"); //使用全部默认参数 BookList("C#",2) //不使用默认参数 }
Syntax:
Methodenname (1 Parametername: Parameter 1 Wert... Parameter n Name: Parameter n Wert) , .NETs Spezial Typen
1. Implizite Typen
static void BookList(string category,int pageIndex = 1) { //操作 } //调用 static void Main(string[] args) { BookList(category:"C#"); //使用全部默认参数 BookList(category:"C#",pageIndex:2) //不使用默认参数 }
(Sie können einen anonymen Typ über den neuen -Operator und den Anfangswert erstellen)
Hinweis: Die Die Anzahl der Attribute in anonymen Typen ist einmalig, d. h. die Attribute anonymer Paare sind schreibgeschützt
3. Dynamischer Typ (dynamischen Typ definieren)
var list = new Student(); //Student为自定义类型
4. Was ist der Unterschied zwischen dynamischen und var-Schlüsselwörtern? Var kann nur für lokale Variablen verwendet werden, nicht für Felder und Parameter; der Typ der Variablen wird zum Zeitpunkt der Kompilierung bestimmt dynamisch wird für Typenfelder, Methodenparameter, Methodenrückgabewerte verwendet und kann für generische Typparameter usw. verwendet werden. Kann jedem Typ zugewiesen oder zugewiesen werden kann jedem Typ zugeordnet oder zugewiesen werden
oder
类型?变量名
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 } }
Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der Parameter und speziellen Instanztypen in ASP.NET. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!