亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

為什么 ValueTuple 不能是常量?

為什么 ValueTuple 不能是常量?

C#
呼喚遠方 2022-12-24 10:08:05
聲明為字段的 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);}但是這個語句不編譯。是否存在某些情況下它是不受歡迎的功能,或者它只是未實現的功能?編輯 好的,我現在明白了。我的問題是基于 C# 編譯器對待 ValueTuples 不同于其他類型的假設,關于關鍵字 readonly。所以,如果它已經是一個異常,為什么不為 consts 做另一個異常。但是,事實上,這個邏輯似乎適用于所有結構。所以這行不通:class Foo {  readonly ExampleStruct field;  void Method() {    field.structField = 2;  }}struct ExampleStruct {  public int structField;}
查看完整描述

1 回答

?
千巷貓影

TA貢獻1829條經驗 獲得超7個贊

有一組有限的類型,可以在 c# 中用作 const(此處更詳細)。

值元組根本不在其中。


查看完整回答
反對 回復 2022-12-24
  • 1 回答
  • 0 關注
  • 103 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號