c# 6.0 新增功能

  • 设置只读属性

  • 语法如下
//设置只读的属性
public string FirstName { get; }
public string LastName { get; }
  • 只读属性只能在构造函数中设置
public Person(string firstName, string lastName)
{
      FirstName = firstName;
      LastName = lastName;
}

属性初始化表达式

  • 属性可以设置初始值
public string FirstName { get; } = "";

Expression-bodied 函数成员

  • expression-bodied 成员适用于方法和只读属性
//方法
public override string ToString() => $"{FirstName},{LastName}";
//只读属性
public string FullName => $"{FirstName},{LastName}";

using static

比如我们输出一个Hello World的时候

Console.WriteLine("hello world");

有了using static

我们可以

using System;
using static System.Console;
namespace test
{
    public class Program
    {
        static void Main(string[] args)
        {
            WriteLine("hello world");
        }
    }
}

貌似没鸡毛暖用,就是看起来清爽一丢丢

Null 条件运算符

  • Null 条件运算符使 null 检查更轻松、更流畅
Person p =null;
var R = p?.FirstName;//R=null

当p为null的时候返回null,当p不为null的时候返回FirstName,还可以用在方法的调用上,this.SomethingHappened?.Invoke(this, eventArgs);

  • 分配默认值
Person p = null;
var R = p?.FirstName ?? "Unspecified";

当p为null的时候返回后边字符串,不为空的时候返回FirstName  

字符串内插

使用 $ 作为字符串的开头,并使用 { 和 } 之间的表达式代替序号:

public string GetGradePointPercentage() =>
    $"Name: {LastName}, {FirstName}. G.P.A: {Grades.Average():F2}";

原文地址:https://www.cnblogs.com/FashionDoo/p/10532857.html

时间: 2024-10-09 00:48:57

c# 6.0 新增功能的相关文章

C#基础拾遗系列之二:使用ILSpy探索C#7.0新增功能点

第一部分: C#是一种通用的,类型安全的,面向对象的编程语言.有如下特点: (1)面向对象:c# 是面向对象的范例的一个丰富实现, 它包括封装.继承和多态性.C#面向对象的行为包括: 统一的类型系统 类与接口 属性.方法.事件 (2)类型安全:C#还允许通过dynamic关键字动态指定类型. 但是,C#仍然是一个主要的静态类型语言.之所以是一种强类型的语言,是因为它的类型规则是非常严格的,例如,不能够使用一个float类型的参数去调用一个解释int 类型的函数,除非显式的把float转换为int

ServiceStack 4.0 新增功能概述 ServiceStack.Text 4.0

在某一个地方,发现了一个ServiceStack的文件上传和图片处理示例项目,这个项目的位置是:https://github.com/ServiceStackApps/Imgur,  在线演示的地址:http://imgur.servicestack.net/,   ,界面的效果如下图: 这个示例使用了新版的ServiceStack.Text 4.0. 示例项目包含的主要文件: 主要的实现代码在Global.asax中,包括入口出口类定义,服务,环境及组件的配置等. default.html,显

Xcode 9.0 新增功能大全

Xcode是用于为Apple TV,Apple Watch,iPad,iPhone和Mac创建应用程序的完整开发人员工具集.Xcode开发环境采用tvOS SDK,watchOS SDK,iOS SDK和macOS SDK的形式捆绑Instruments分析工具,Simulator和OS框架. Xcode 9的亮点 Xcode 9包括整体质量改进以及广泛的新功能. 全新编辑.快速,基于结构的编辑器,可让您智能地突出显示和浏览代码.包括伟大的Markdown支持. 重构.重构内置于编辑体验之中,并

C#6.0新增功能

C# 6.0 版本包含许多可提高开发人员工作效率的功能. 此版本中的功能包括: 只读自动属性: 可以创建只能在构造函数中设置的只读自动属性. 自动属性初始值设定项: 可以编写初始化表达式来设置自动属性的初始值. Expression-bodied 函数成员: 可以使用 lambda 表达式创建单行方法. using static: 可以将单个类的所有方法导入当前命名空间. Null - 条件运算符: 可以简洁.安全地访问对象的成员,同时仍能使用 null 条件运算符检查 null. 字符串内插:

C#8.0 新增功能

连载目录    [已更新最新开发文章,点击查看详细] C#8.0提供了许多增强功能 01 Readonly 成员 可将 readonly 修饰符应用于结构的任何成员. 它指示该成员不会修改状态. 这比将 readonly 修饰符应用于 struct 声明更精细. 请考虑以下可变结构: public struct Point { public double X { get; set; } public double Y { get; set; } public double Distance =>

C#5.0新增功能02 调用方信息

连载目录    [已更新最新开发文章,点击查看详细] 通过使用调用方信息特性,可获取有关方法的调用方的信息. 可以获取源代码的文件路径.源代码中的行号和调用方的成员名称. 此信息有助于跟踪.调试和创建诊断工具.若要获取此信息,可以使用应用于可选参数的特性,每个特性都具有默认值. 下表列出在 System.Runtime.CompilerServices 命名空间中定义的调用方信息特性: 特性 描述 类型 CallerFilePathAttribute 包含调用方的源文件的完整路径. 这是编译时的

cloudstack4.4新增功能前瞻

cloudstack4.4.0新功能前瞻 转载请注明地址:http://blog.csdn.net/zt689/article/details/37698989 1.   cloudstack4.4.0新增功能 cloudstack4.3.0发布已经好几个月,目前cloudstack4.4.0的开发正在忙碌的进行,估计离发布也不会久远.cloudstack4.4.0新增了许多功能.翻译不够准确的地方欢迎拍砖. 1.1   支持对root磁盘卷的存储管理 root磁盘卷的主存储插件的使用. 支持的

微信公众平台新增卡券功能 配合微信6.0卡包功能

今天早些时候,微信6.0发布更新,其中一个新增功能是微信卡包功能,如果商家没有发行电子打折卡.优惠券,那微信卡包就形同虚设了,微信公众平台新增卡券功能势在必行.傍晚获得的消息,公众平台发布新增卡券功能的公告,具体内容如下: 公众平台新增卡券功能 卡券功能,是公众平台向有投放卡券需求的公众号提供的推广.经营分析的整套解决方案,是“微信卡包”的重要组成部分,是连接商户与消费者的新渠道. 通过资质审核的商户,拥有卡券制作.管理.投放和数据分析的整套能力.目前支持的卡券类型有代金券.折扣券.礼品券.团购

.NET Framework 1.1、2.0、3.0、3.5、4.0各版本新增功能

一..NET Framework 1.1版本 1.ASP.NET移动控件 2.ADO.NET的改动 添加System.Data.Odbc命名空间 新增System.Data.OracleClient命名空间供Oracle使用 DataReader对象公开HasRows属性,判断是否有返回行 Connection对象具有EnlistDistributedTransaction,可以在分布式事务中启动手动登记. 3.并发执行 .NET Framework 1.1版本支持并行执行. 4..NET Fr