c#7.0新增了諸多功能,其中有一項是新元組(valuetuple),它允許我們可以返回多個值,並且配合解構能更加方便的進行工作,如下面例子
static可以看到解構元組可以寫出優雅的**,並且可以使用型別推斷,但在這裡解構元組並不是重點,所以不過多關注,下面說乙個有趣的功能void main(string
args)
\nage:");
}public
static (string name,int
age) getuser()
解構能力並不是只能解構元組,他還有乙個更加有意思的功能,就是解構物件。是不是聽起來挺有意思。
static上面**是不是很驚奇,反正我第一次看到時特別驚訝,也感覺特別有意思,那麼這到底怎麼實現的呢,其實只是在類中新增乙個析構函式(deconstruct)就可以,解構引數方法名稱必須是deconstruct,返回值必須是void,引數列表必須是outvoid main(string
args)
; (
var name, var email) =user;
console.writeline($
"name:\nemail:");
}
public是不是感覺特別簡單,哈哈,class
user
public
string email
public
int age
public
string ***
//析構函式
public
void deconstruct(out
string name,out
string
email)
}
析構函式還支援過載
class但是解構不支援引數一致的過載program
; (
var name1, var email1) =user;
console.writeline($
"name:\temail:");
(var name2,var age2, var email2) =user;
console.writeline($
"name:\tage:\temail:");
}}
public
class
user
public
string email
public
int age
public
string ***
//析構函式
public
void deconstruct(out
string name,out
string
email)
//結構函式過載
public
void deconstruct(out
string name,out
int age,out
string
email)
}
哪怕引數型別不一致
感覺像引數型別推斷錯誤,但是,,
所以析構函式並不引數數量相同的過載,哪怕引數型別不一致
C 7 1 中的新增功能
2017 08 16 作者bill wagner olprod v radelg exdevillee c 7.1 是 c 語言的第乙個點版本 更新版本 它標誌著該語言發布節奏的加速。理想情況下,可以在每個新功能準備就緒時更快推出新功能。c 7.1 增加了將編譯器配置為匹配特定語言版本的功能。從而可...
簡述實現C 中GridView的分頁功能
1.將你的gridview的allowpaging屬性設為true 2.將你的gridview的pagesize屬性設為你要在一頁麵中顯示的行數 如10 3.重寫 找到gridview中的 pageindexchanging事件 protected void pagechg object sende...
C 中列舉型別的使用和功能
列舉型別本身是一種常量表示式,不能動態改變列舉型別的值。一 enum列舉的使用 預設的第乙個列舉成員賦值為0,後面的每個成員都比前乙個大1 二 列舉成員必須使用常量初始化 三 列舉成員的值可以不唯一 四 使用自定義的列舉型別初始化 open modes op1 input ok,input is a...