using System;
using static System.Math;//using static,仅仅引入类中的静态方法
namespace _6._0Syntax
{
class Program
{
delegate bool Predicate(string str);
static void Main(string[] args)
{
/*nameof
string a = nameof(Program.Main);
*/ /*String interpolation
var s = string.Format("{0} is so beauty{{~~~}}", "You");
Person p = new Person { Name = "senki", Age = 12 };
var s = $"{p.Name,20} is {p.Age:D3} year{{s}} old";
*/ /*NULL操作
string str = null;
int? length = str?.Length;
char? c = str?[0];
int l = str?.Length ?? 0;
List<Person> list = null;
int? b= list?[0]?.Name?.Length;
Predicate predicate = null;
if (predicate?.Invoke(str) ?? false)
{
}
*/ /*初始化时设定索引
var numbers = new Dictionary<int, string> {
[7]="liu",
[9]="zhan",
[15]="qi"
};*/ /* 异常过滤器
try
{
throw new CustomException();
}
catch (Exception e) when (IsCanCatch(e))
{
}
*/
Max(, );//通过using static,直接使用静态方法
Console.WriteLine();
Console.ReadLine();
} //表达式函数
static void Print(string str) => Console.WriteLine($"{str}"); class Person
{
public string Name { get; set; } = "senki";//自动属性初始值设定
public bool Sex { get; } = true;
public int Age { get; set; }
public string LastName => Name;//只读属性
public char this[int i]=>Name?[i]??'A';//索引 }
class CustomException : Exception
{
public override string Message
{
get
{
return "测试异常";
}
}
}
private static bool IsCanCatch(Exception e)
{
if (e is CustomException)
return true;
return false;
} struct School
{
public string Name { get; set; }
public int Age { get; }
public School(string name, int age)
{
Name = name;
Age = age;
}
//public School():this("",120)
//{ } } }
}

C#6.0语法糖的更多相关文章

  1. C# 6.0语法糖剖析

    C# 6.0语法糖剖析 2016年12月16日 16:10:27 阅读数:586   版权声明:本文为博主http://www.feixueteam.net原创文章,未经博主允许不得转载. https ...

  2. 探索C#之6.0语法糖剖析

    阅读目录: 自动属性默认初始化 自动只读属性默认初始化 表达式为主体的函数 表达式为主体的属性(赋值) 静态类导入 Null条件运算符 字符串格式化 索引初始化 异常过滤器when catch和fin ...

  3. C#6.0语法糖剖析(一)

    1.自动属性默认初始化 使用代码 "; 编译器生成的代码: public class Customer { [CompilerGenerated] private string kBacki ...

  4. C#6.0语法糖剖析(二)

    1.索引初始化 使用代码 ] = ] = ] = "thirteen"}; 编译器生成的代码 Dictionary<int, string> dictionary2 = ...

  5. C#语法糖之第二篇: 参数默认值和命名参数 对象初始化器与集合初始化器

    今天继续写上一篇文章C#4.0语法糖之第二篇,在开始今天的文章之前感谢各位园友的支持,通过昨天写的文章,今天有很多园友们也提出了文章中的一些不足,再次感谢这些关心我的园友,在以后些文章的过程中不断的完 ...

  6. C#语法糖之第四篇: 扩展方法

    今天继续分享C#4.0语法糖的扩展方法,这个方法也是我本人比较喜欢的方法.大家先想想比如我们以前写的原始类型不能满足现在的需求,而需要在该类型中添加新的方法来实现时大家会怎么做.我先说一下我没有学习到 ...

  7. C#语法糖之开篇

    本人虽然大学不是学的计算机但是对于IT行业的热爱,依然决然进军IT行业了,自从踏进这个行业到现在也已经3年多了,从去年开发通过网上 了解博客园后深深的爱上这儿了,这里有很多牛人,通过拜读他们的代码,让 ...

  8. C#语法糖: 扩展方法(常用)

    今天继续分享C#4.0语法糖的扩展方法,这个方法也是我本人比较喜欢的方法.大家先想想比如我们以前写的原始类型不能满足现在的需求,而需要在该类型中添加新的方法来实现时大家会怎么做.我先说一下我没有学习到 ...

  9. C#语法糖(Csharp Syntactic sugar)

    目录 一.C#语法糖大汇总 1. 经过简化的Property2. 经过两次变异的委托写法3. 集合类的声明4. 集合类各个项的操作5. using == try finally6. 可爱的var7. ...

随机推荐

  1. 发布一款仿天猫产品放大镜JQuery插件

    效果如下图: 1.原图 2.放大镜效果: 插件源码如下: /* * * JQUERY 简洁无极放大镜插件-zoomer * Author:盛世游侠 * QQ:418873053 * Date:2013 ...

  2. Beforeunload打点丢失原因分析及解决方案

    淘宝的鱼相在 2012 年 8 月份发表了一篇文章,里面讲述了他们通过一个月的数据采集试验,得到的结果是:如果在浏览器的本页面刷新之前发送打点请求,各浏览器都有不同程度的点击丢失情况,具体点击丢失率统 ...

  3. pythond对象、异常、反射的学习笔记

    python多继承,刚开始我是表示惊讶的,毕竟学的php,哪来的多继承?顶多也就是利用接口模拟多继承后者使用反射机制实现.那么还是来看看python的强大吧 1 首先,Python的类继承了多个类,那 ...

  4. NGINX关于配置PATHINFO

    最近在群里发现有很多小白不会配置pathinfo现贴出来配置代码照着配置就可以了     1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 2 ...

  5. Css透明度

    全透明代码:{background:transparent} 半透明代码:{filter:alpha(opacity=80);-moz-opacity:0.8;width:auto !importan ...

  6. 11061160_11061151_Pair Project: Elevator Scheduler软件工程结对编程作业总结

    软件工程结对编程作业总结 11061160  顾泽鹏 11061151  庞梦劼 一.关于结对编程 这次的软工任务既不是单打独斗的个人任务,也不是集思广益的团队项目,而是人数为两人的结对编程.两个人合 ...

  7. 关于Cococs中的CCActionEase(中)

    相比之前的速度正弦变化动作(这个东西叫什么更好一些?渐变动画?)与速度指数级变化动作,CCEaseIn/CCEaseOut/CCEaseInOut更具灵活性.你可以设置运动的速率,甚至是在运动的过程中 ...

  8. shell脚本实例一,移动文件夹中大于2000B的文件到另一个文件夹

    shell脚本能帮我们简化linux下的一些工作,现在有个需求,把TMPA文件夹下大于2000B的文件都移动到TMPB下 #! /bin/bash function movefiles() { ` d ...

  9. microsoft

    http://blog.csdn.net/morewindows/article/details/8684061 http://blog.csdn.net/watkinsong/article/det ...

  10. LED驅動電路概述

    LED是一種固體光源,當它兩端加上正向電壓,半導體中的少數載流子和多數載流子發生復合,放出的過剩能量將引起光子發射.采用不同的材料,可制成不同顏色有 發光二極管 . 隨著對LED研究的進一步深入,其光 ...