![](/img/trans.png)
[英]Non-nullable reference types' default values VS non-nullable value types' default values
[英]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.