什么時候應該使用結構而不是類?MSDN說,當您需要輕量級對象時,應該使用structs。當一個結構比一個類更可取的時候,還有其他的場景嗎?有些人可能忘記了:結構可以有方法。結構不能繼承。我理解結構和類之間的技術差異,只是感覺不太好。什么時候使用結構。
3 回答
忽然笑
TA貢獻1806條經驗 獲得超5個贊
public struct ThreeDimensionalPoint{
public readonly int X, Y, Z;
public ThreeDimensionalPoint(int x, int y, int z)
{
this.X = x;
this.Y = y;
this.Z = z;
}
public override string ToString()
{
return "(X=" + this.X + ", Y=" + this.Y + ", Z=" + this.Z + ")";
}
public override int GetHashCode()
{
return (this.X + 2) ^ (this.Y + 2) ^ (this.Z + 2);
}
public override bool Equals(object obj)
{
if (!(obj is ThreeDimensionalPoint))
return false;
ThreeDimensionalPoint other = (ThreeDimensionalPoint)obj;
return this == other;
}
public static bool operator ==(ThreeDimensionalPoint p1, ThreeDimensionalPoint p2)
{
return p1.X == p2.X && p1.Y == p2.Y && p1.Z == p2.Z;
}
public static bool operator !=(ThreeDimensionalPoint p1, ThreeDimensionalPoint p2)
{
return !(p1 == p2);
}}- 3 回答
- 0 關注
- 501 瀏覽
添加回答
舉報
0/150
提交
取消
