簡體   English   中英

您可以在C#7中命名元組簽名嗎?

[英]Can you name a Tuple signature in C# 7?

隨着C#7的實現,Tuples變得更易於使用。 實際上,在某些情況下,我將使用相同的Tuple簽名。

為了節省輸入內容,我可以對其命名或別名嗎? 還是我應該繼續定義一個結構?

您可以將別名與值元組一起使用,就像其他任何類型一樣:

> using T = System.ValueTuple<int, string>;    
> T t;
> t.Item1 = 1;
> t.Item2 = "one";

但這可能不是您想要的。 這是因為元組值名稱不在類型本身中,而在變量和返回值中。

對於變量,編譯器會跟蹤值名稱。 對於返回值,[System.Runtime.CompilerServices.TupleElementNamesAttribute]屬性用於將名稱附加到返回值。

不,你不能做一個別名。 如果您想要某種“簡寫形式”,則需要定義一個實際類型並使用它代替元組。

閱讀了更多現有副本后,有一個重要的觀點值得一提:C#7中的元組是語法糖,使Structs易於一次性使用。

在這種情況下,如果要充分重用元組的特定結構以需要一個名稱,則完整的Struct語法將是合適的解決方案。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM