Maison >développement back-end >Tutoriel C#.Net >Explication détaillée des paramètres et des types spéciaux d'instances dans ASP.NET
Cet article présente principalement les paramètres et les types et fonctionnalités spéciaux dans ASP.NET Il est très bon et a une valeur de référence. Les amis dans le besoin peuvent se référer à
<.>1. Paramètres facultatifs et paramètres nommés
1. Paramètres facultatifs
2. Paramètres nommés
static void BookList(string category,int pageIndex = 1) { //操作 } //调用 static void Main(string[] args) { BookList("C#"); //使用全部默认参数 BookList("C#",2) //不使用默认参数 }
Syntaxe :
Nom de la méthode (1 nom du paramètre : valeur du paramètre 1... Nom du paramètre n : valeur du paramètre n) , spécial .NET types 1. Les types implicites
Les types implicites ont principalement les applications suivantes : déclarer des variables de type locales, pour l'instruction d'initialisation, pour chaque instruction d'initialisation, à l'aide de l'instruction Attribuer valeurs en même temps
2.
static void BookList(string category,int pageIndex = 1) { //操作 } //调用 static void Main(string[] args) { BookList(category:"C#"); //使用全部默认参数 BookList(category:"C#",pageIndex:2) //不使用默认参数 }type (le type anonyme peut être créé via new
opérateur et valeur initiale)
Remarque : L'attribution d'attributs dans les types anonymes est unique, c'est-à-dire : les attributs des paires anonymes sont en lecture seule
. 3. Type dynamique (définir le type dynamique)
var list = new Student(); //Student为自定义类型
4. Quelle est la différence entre les mots-clés dynamiques et var ? var ne peut être utilisé que pour les variables locales, pas pour les champs et les paramètres ; il doit être initialisé au moment de la déclaration ; le type de la variable est déterminé au moment de la compilation dynamique est utilisé pour les champs de types, les paramètres de la méthode, les valeurs de retour de la méthode, peuvent être utilisées pour les paramètres de type générique, etc. 🎜>
ou
类型?变量名
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 } }
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!