我有三個int
變量,即a1
,a2
和a3
。我想要a1
,它總是總計a2
和a3
。如果我更改了a2
或a3
的值,則a1
的值應自動更新。如何實現這一目標?自動更新變量
自動更新變量
回答
您需要手動更新它。由於int
是一個primitive type它保存的值不直接引用。因此,實施一種方法,無論a2或a3發生什麼變化,都將它們相加並將其值賦給a1。或者只是設置一個只讀屬性,它總是計算值。但是,對於第一種情況:
private int m_a2;
public int A2
{
get { return m_a2; }
set
{
m_a2 = value;
CalculateSumAgain();
}
}
這使得A2「知道」A1使用它(在這種情況下,方法幾乎沒有任何抽象),並且您需要對A3執行相同的操作。爲什麼不讓A1管理自己? –
@Baboon從我的回答中看起來很清楚「或者只是將a1設置爲一個只讀屬性,它總是可以計算出這個值。但是,對於第一種情況:」我回答兩個選項,但是嘗試使它符合OP,第二個很明顯。 –
我有'a1'這樣的54個變量,這個方法適合嗎? –
讓A1就像一個屬性:
public int a1
{
get
{
return a2 + a3;
}
}
public int a2;
public int a3;
我有54個變量,比如'a1',這個屬性可以放在'for'循環中嗎? –
@JohnWatson你有54個變量是另外2個變量的總和嗎? –
@蘭道夫的權利,你有沒有考慮把它們放到一個類來代替並具有A1自動計算,即
public class IntHolder()
{
public int a2 {get; set;}
public int a3 {get; set;}
public int a1
{
get
{
return a2+a3;
}
}
}
這是a2和a3的總和。 –
+1,並根據@Baboon的評論進行修復。如果需要,還添加本地版本的答案。 –
我有54個變量,比如'a1',這個方法適用於 –
如果你想讓它成爲本地函數--a1的lambda幾乎可以工作 - 你不能以這種方式擁有本地屬性,所以必須使用方法調用語法作爲a1,如a1()
:
void foo()
{
int a2 = 3;
int a3 = 4;
Func<int> a1 =()=> a2 + a3;
Console.WriteLine(a1()); // 3+4 = 7
a2 = 5;
Console.WriteLine(a1()); // 5+4 = 9
}
- 1. JavaScript--數組變量自動更新
- 2. Session變量就會自動更新
- 3. PHP變量自動更新失敗
- 4. 自動更新所有變更標籤的反應變量?
- 5. 當Java自動更新時更新Windows路徑變量?
- 6. 變量值自動更改
- 7. TSQL自動增量更新
- 8. 對字符串變量AS3數組的更改不會自動更新變量
- 9. C++更新/更改來自不同類/變量的變量
- 10. 自動更新$ _SESSION變量而不刷新
- 11. 更新PHP變量時自動刷新div
- 12. 更改時自動更新全局變量的標籤
- 13. 刷新活動與更新變量
- 14. 更新變量
- 15. 更新變量
- 16. 通過自我刷新更改變量
- 17. 更新自己的變量的函數
- 18. 變量自動
- 19. php變量$ a包含變量$ b中更新$ b和$ a應該自動更新
- 20. jQuery的滑塊自動刷新變量
- 21. Firebug - 自動刷新觀察變量?
- 22. Python - 自動添加新變量
- 23. 如何在PHP中自動更新變量輸出?
- 24. WooCommerce - 數量改變時自動更新總價格
- 25. 如何在bash中定義自動更新$ DATE變量?
- 26. 在python中自動更新的變量列表
- 27. sqlite如何自動從一個變量更新列
- 28. 如何使用自動完成更新ng-repeat變量?
- 29. Angular2,多個組件中的自動更新變量
- 30. 將業務日期存儲爲PHP變量。自動更新
你究竟試過了什麼? –
John Watson,請看我的標題改變是否反映了你的問題的意圖。否則回滾編輯。 –