聲明為字段的 ValueTuple 類型可以是可變的:class Foo { (int, int) bar = (0, 1);}或只讀:class Foo { readonly (int, int) bar = (0, 1);}并且這種(不)可變性適用于每個成員。我希望它也可以擴展為 const 聲明:class Foo { const (int, int) bar = (0, 1);}但是這個語句不編譯。是否存在某些情況下它是不受歡迎的功能,或者它只是未實現(xiàn)的功能?編輯 好的,我現(xiàn)在明白了。我的問題是基于 C# 編譯器對待 ValueTuples 不同于其他類型的假設(shè),關(guān)于關(guān)鍵字 readonly。所以,如果它已經(jīng)是一個異常,為什么不為 consts 做另一個異常。但是,事實上,這個邏輯似乎適用于所有結(jié)構(gòu)。所以這行不通:class Foo { readonly ExampleStruct field; void Method() { field.structField = 2; }}struct ExampleStruct { public int structField;}
- 1 回答
- 0 關(guān)注
- 99 瀏覽
添加回答
舉報
0/150
提交
取消