簡體   English   中英

什么是'命名類型'

[英]what is 'named type'

我經常在C#中遇到“命名類型”一詞。 這是什么意思?

已使用名稱顯式聲明的類型。 例如,您聲明的任何類或結構都是命名類型。

還有匿名類型,它們在沒有名稱的情況下聲明,編譯器為該類型指定一個開發人員無法訪問的名稱。

您可以在C#中閱讀有關不同類型類型的更多信息。

這是對明確鍵入的變量的引用,而不是具有匿名類型的變量。 任何不是匿名類型的東西都是命名類型。

與(我認為).Net 3.0一起引入,匿名類型提供了一種創建包含一組只讀屬性的對象的便捷方式,而無需為此目的定義顯式命名類型。

雖然匿名類型的實現也需要使用類型推斷 (用於鍵入對象的屬性), 但是不要將匿名類型與 Implicitly Typed Local Variables 混淆,從而var關鍵字釋放程序員明確聲明變量類型,但編譯器有效提供類型。 (大多數隱式類型變量不是匿名類型,因此是命名類型。它只是編譯器進行命名)。

任何不是匿名類型的類型都是“命名類型”。

命名類型是您創建並給出名稱的任何顯式定義的類型(結構,類等)。

例如:

public class Foo
{
   public string Bar{ get; set; }
}

在這種情況下,Foo是一個命名類型。

這與匿名類型相反,后者通常是動態創建的:

var MyFoo = new { Bar = "some text" };

我剛剛創建了一個名為MyFoo的新對象。 我們沒有明確地給它一個類型名稱,但是我們隱式地給它一個String屬性Bar,其值為“some text”。

暫無
暫無

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

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