Struct的默认构造函数和属性赋值

我看C# 6 introduce 提到这个功能。但vs2015搭载的NET4.6貌似还不支持这个。所以也不好判断。

属性赋值

    /// <summary>
/// 属性赋值
/// 只读属性表达式
/// </summary>
public class UserInfo1
{
public string Name { get; set; } = "Tom";
public int Age { get; set; } = ; public int Height { get { return + new Random().Next(, ); } }
public int HeightNew => + new Random().Next(, );
}

方法表达式

  /// <summary>
/// 方法表达式
/// </summary>
public class UserInfo2
{
public string Name { get; set; } = "Tom";
public int Age { get; set; } = ; public void Introduce()
{
//C#6 字符串拼接方式,很方便吧!
Console.WriteLine($"my name is {Name},{Age}.");
} public void IntroduceNew() => Console.WriteLine($"my name is {Name},{Age}."); }

空引用检查

    /// <summary>
/// 空引用检查
/// </summary>
public class UserInfo3
{
public string Name { get; set; }
public int Age { get; set; } public void SayHello(UserInfo3 user)
{
if (user.Name==null)
return;
Console.WriteLine($"hi, {user.Name}");
}
//输出 hi,
public void SayHelloNew(UserInfo3 user)
{
Console.WriteLine($"hi, {user?.Name}");
}
}

获取参数/变量的名称

        static void Main(string[] args)
{
//UserInfo3 user3=new UserInfo3();
//user3.SayHello(user3);
//user3.SayHelloNew(user3); GetObjectName(); Console.ReadLine();
} /// <summary>
/// 获取参数/变量的名称
/// 原先要用反射获取
/// </summary>
public static void GetObjectName()
{
Console.WriteLine( nameof(UserInfo3));
}

C# 6.0部分新特性的更多相关文章

  1. php5.3到php7.0.x新特性介绍

    <?php /*php5.3*/ echo '<hr>'; const MYTT = 'aaa'; #print_r(get_defined_constants()); /* 5.4 ...

  2. paip.php 5.0 5.3 5.4 5.5 -6.0的新特性总结与比较

    paip.php 5.0 5.3 5.4  5.5 -6.0的新特性总结与比较 PHP5的新特性 2 · 对象的参照过渡是默认的(default) 3 · 引入访问属性的限制 3 · 引入访问方法的限 ...

  3. NodeJS 框架 Express 从 3.0升级至4.0的新特性

    NodeJS 框架 Express 从 3.0升级至4.0的新特性 [原文地址:√https://scotch.io/bar-talk/expressjs-4-0-new-features-and-u ...

  4. 相比于python2.6,python3.0的新特性。

    这篇文章主要介绍了相比于python2.6,python3.0的新特性.更详细的介绍请参见python3.0的文档. Common Stumbling Blocks 本段简单的列出容易使人出错的变动. ...

  5. MySQL 8.0 InnoDB新特性

    MySQL 8.0 InnoDB新特性 1.数据字典全部采用InnoDB引擎存储,支持DDL原子性.crash safe,metadata管理更完善 2.快速在线加新列(腾讯互娱DBA团队贡献) 3. ...

  6. Atitit jquery  1.4--v1.11  v1.12  v2.0  3.0 的新特性

    Atitit jquery  1.4--v1.11  v1.12  v2.0  3.0 的新特性 1.1. Jquery1.12  jQuery 2.2 和 1.12 新版本发布 - OPEN资讯.h ...

  7. [PHP] 从PHP 5.6.x 移植到 PHP 7.0.x新特性

    从PHP 5.6.x 移植到 PHP 7.0.x 新特性: 1.标量类型声明 字符串(string), 整数 (int), 浮点数 (float), 布尔值 (bool),callable,array ...

  8. servlet3.0 的新特性之二注解代替了web.xml配置文件

    servlet3.0 的新特性: 注解代替了 web.xml 文件 支持了对异步的处理 对上传文件的支持 1.注解代替了配置文件 1.删除了web.xml 文件 2. 在Servlet类上添加@Web ...

  9. C# 6.0/7.0 的新特性

    转眼C#语言都已经迭代到7.0版本了,很多小伙伴都已经把C# 7.0 的新特性应用到代码中了,想想自己连6.0的新特性都还很少使用,今天特意搜集了一下6.0和7.0的一些新特性,记录一下,方便查阅. ...

  10. C#6.0的新特性之内插字符串

    https://docs.microsoft.com/zh-cn/dotnet/csharp/language-reference/keywords/interpolated-strings C# 6 ...

随机推荐

  1. javascript将DOM事件处理程序封装为event.js 出现的低级错误记录

    将 DOM 0级事件处理程序和DOM2级事件处理程序 IE事件处理程序封装为eventUtil对象,达到跨浏览器的效果.代码如下: var eventUtil = { // 添加事件句柄 addEve ...

  2. js模板

    作用 适合用于定义模板(模板容器),不解析(渲染/执行). 为什么这样使用 在js里面,经常需要使用js往页面中插入html内容.比如这样: var number = 123; $('#d').app ...

  3. Intent详解

    ntent组件虽然不是四大组件,但却是连接四大组件的桥梁,学习好这个知识,也非常的重要. 一.什么是Intent 1.Intent的概念: Android中提供了Intent机制来协助应用间的交互与通 ...

  4. Apache Drill Install and Test

    Drill doc, https://drill.apache.org/docs/hive-storage-plugin/ 发现在国内访问的时候有些标签反应还是很慢,因为它访问了gooleapi的缘故 ...

  5. openfire+asmack搭建的安卓即时通讯(四) 15.4.10

    之前的教程不知道你们成功了没,,,没成功可以问我啊=-= 第四篇博文是要实现发送消息的功能. 首先在我们登陆后的活动的layout里添加这样的两个控件,一个EditText和一个Button用于发送数 ...

  6. vim支持lua

    1. ncurses 安装 官网下载:http://ftp.gnu.org/pub/gnu/ncurses/ncurses-5.9.tar.gz CSDN 下载:http://download.csd ...

  7. codeforces 480B B. Long Jumps(贪心)

    题目链接: B. Long Jumps time limit per test 1 second memory limit per test 256 megabytes input standard ...

  8. Spring 一二事(2)

    静态工厂方法及实例工厂的使用: applicationContext.xml: <!-- factory-method 是指调用静态工厂方法 --> <bean id="h ...

  9. Java语法基础(二)----运算符

    一.运算符: 运算符包括下面几种: 算术运算符 赋值运算符 比较运算符 逻辑运算符 位运算符 三目运算符 最不常用的是位运算符,但也是最接近计算机底层的. 1.算术运算符 (1)+的几种用法:加法.正 ...

  10. java 19 -13 FIle类的一些方法2

    package zl_file; import java.io.File; import java.io.IOException; import java.text.SimpleDateFormat; ...