簡體   English   中英

C#8中Non-Nullable引用類型的默認值是多少?

[英]What is the default value of Non-Nullable reference types in C# 8?

如果我啟用可空引用類型,如果我這樣聲明它,那么下面字符串的值是多少?

string text;

該值將為null

請記住,可空引用類型的新系統只會警告您有關問題,它不會給您一個錯誤 ,這意味着代碼仍然會編譯,並帶有警告。

如果您聲明此類:

public class Test
{ 
    private string text;
}

你的班級會收到這個警告:

CS8618: Non-nullable field 'text' is uninitialized.

但是, 代碼仍然編譯

因此,要(再次)回答您的問題,該字段的默認值將為null

注意:如果您使用該語句聲明一個局部變量,答案是它沒有值,它將被視為絕對未分配,並且您不允許從該變量讀取,直到您有適當的代碼它肯定是第一個分配。


至於警告與錯誤,您可以通過擺弄項目選項來選擇將它們作為錯誤,並列出您希望被視為錯誤的警告。

暫無
暫無

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

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