我只有2類:爲什麼雙向構圖不適合傳遞值類型?
class A
{
public B b = new B();
public bool flag {get; set;}
}
class B
{
public void foo()
{
//iterates a dataTable with column "someBoolCondition"
// I want to set A's bool to true, after the first record that has 'true' in column
//"someBoolCondition". Thus is thought to avoid bool memebers in each class.
}
}
我的想法,不是那麼好,因爲布爾是值類型的:我認爲這是一個問題,因爲我看行 「ReferenceToA.flag = TRUE;」被執行,但後來我沒有看到A的標誌變成真(保持假)。這是爲什麼?
class A
{
public bool flag {get; set;}
public B b = new B();
b.ReferenceToA = this;
}
class B
{
public A ReferenceToA {get; set}
public void foo()
{
ReferenceToA.flag = true; //...
}
}
有一種優雅的方式做它像爲引用類型的成員? 它是一種矯枉過正,應該以不同的方式做?
我不明白你爲什麼說有一個與布爾對比基準類型的問題。參考是32位或64位,而布爾佔用相同的內存 - 所以沒有區別。 –
我看行 「ReferenceToA.flag = TRUE;」被執行,但後來我沒有看到A的標誌變成真(保持假)。這是爲什麼? –