C# 經過多年的改進,功能愈來愈強大,下一版的 C# 6.0 目前也已經包含在 Visual Studio 2014 CTP 裡,本篇文章將會介紹幾個比較重要的功能。
Auto Properties
定義類別時,如果要設定 Property 的預設值,只能在建構子裡設定,而在 C# 6.0 可以這樣定義:
public class Foo
{
//auto property
public int x { get; set; } = 1;
public int y { get; set; } = 2;
}
Primary Constructors
在定義建構子時,可以把最重要且必須要執行的建構子定義在最外層,而且還可以搭配 Auto Properties:
public class Foo(int x, int y)
{
public Foo() :this(0,0)
{
}
//auto properties
public int x { get; set; } = x;
public int y { get; set; } = y;
}
Declaration Expressions
其實就是一個可以少打幾個字的變數宣告方式:
string strValue = "3"; int.TryParse(strValue, out int intValue);
變數 intValue 就直接在 TryPase 裡直接宣告。
Static Using Statements
這個設計真的造福了所有的 C# 程式設計師,想想每次要列印文字,都一定得打上 Console.WriteLine,但以後可以簡化成以下程式碼:
using System;
using System.Console; //Static Using
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
WriteLine("A");
WriteLine("B");
WriteLine("C");
}
}
}
以往 Using 後面只能接 Namespace,但在 C# 6.0 裡,後面能直接放 static class。
Expression Bodied Functions and Properties
這功能算是一個語法蜜糖,當類別裡的方法較為單純時,可以用下列的方式宣告:
public class Foo(int x, int y)
{
public int Add(int x, int y) => x + y;
public string GetString() => "aaa3";
public string MyString => "aaa3";
}文章標籤
全站熱搜
