Trong C#, tôi có một lớp vectơ 3D đơn giản.C# = toán tử số
static void Main(string[] args)
{
Vector3D a, b;
a = new Vector3D(0, 5, 10);
b = new Vector3D(0, 0, 0);
b = a;
a.x = 10;
Console.WriteLine("vector a=" + a.ToString());
Console.WriteLine("vector b=" + b.ToString());
Console.ReadKey();
}
đầu ra là,
vector a = 10, 5, 10
vector b = 10, 5, 10
tôi gán một trước khi tôi thay đổi rìu đến 10 Vì vậy, tôi đã mong
vector a = 10, 5, 10
vector b = 0, 5, 10
Từ những gì tôi hiểu = toán tử gán một tham chiếu đến đối tượng như một con trỏ? Và trong C# i cant overload = operator.
Tôi có phải chỉ định từng thuộc tính theo cách thủ công không?
Cách thực hành tốt nhất ở đây là tạo loại * không thay đổi được, hoặc là loại tham chiếu hoặc loại giá trị, không quan trọng. Vectơ là giá trị * hợp lý *. Khi bạn thêm bốn đến mười hai bạn không logic "biến đổi" hai thành sáu và giữ cho một trong những giống nhau! Bạn tạo một số hoàn toàn mới hoàn toàn. Tương tự như vậy khi bạn thay đổi tọa độ x của một vectơ, bạn không thay đổi tọa độ x và giữ y và z giống nhau: bạn tạo một vectơ hoàn toàn mới. Bạn sẽ thấy rằng bạn có nhiều khả năng hơn lý do về toán học vector nếu bạn xử lý các giá trị dưới dạng giá trị, không phải là trạng thái có thể thay đổi. –