一、可选参数和命名参数
1、可选参数
语法:
[修饰符] 返回类型 方法名(必选参数1...必选参数n,可选参数1...可选参数n)
eg:
static void BookList(string category,int pageIndex = 1) { //操作 } //调用 static void Main(string[] args) { BookList("C#"); //使用全部默认参数 BookList("C#",2) //不使用默认参数 }
2、命名参数
语法:
方法名(参数1名:参数1值...参数n名:参数n值)
eg:
static void BookList(string category,int pageIndex = 1) { //操作 } //调用 static void Main(string[] args) { BookList(category:"C#"); //使用全部默认参数 BookList(category:"C#",pageIndex:2) //不使用默认参数 }
二、.NET的特殊类型
1、隐式类型
隐式类型主要有以下几种应用场合:声明局部类型变量、for初始化语句、foreach初始化语句、using语句
eg:
var list = new Student(); //Student为自定义类型
注:使用var,必须在声明变量的同时进行赋值
2、匿名类型(可以通过new运算符和对初始值来创建匿名类型)
new{属性1名:属性1值,...属性n名:属性n值}
eg:
var stu = new {Name="张三",Age=18,Gender="男"};
注:匿名类型中的属性的赋值是一次性的,即匿名对的属性是只读的
3、dynamic类型(定义动态类型)
//创建1个动态类型对象 dynamic person1 = new Student{Name="Bing",Age=20}; person1.Introduce();
在编译时不会报错,在运行时会报错,因为没有Introduce方法
4、dynamic与var关键字有什么区别?
var只能用于局部变量,不能用于字段和参数;声明的同时必须初始化;变量的类型在编译时就确定了
dynmic用于类型的字段、方法参数、方法返回值,可用于泛型类型参数等;可以赋值或被赋值任何类型
不需要强制类型转换
5、可空类型
1.语法:
System.Nullable<类型> 变量名
或
类型?变量名
eg:
System.Nullable<int> num = null; System.Nullable<DateTime> birthday = null; //或 int"htmlcode">eg:int"htmlcode">int"color: #ff0000">三、特性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中的参数与特殊类型和特性,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。