cuốn sách gpt4 ai đã làm

Xác định giá trị mảng mặc định từ thể hiện của lớp

In lại Tác giả: Vũ trụ không gian Thời gian cập nhật: 2023-11-03 22:07:20 25 4
mua khóa gpt4 Nike

Tôi có lớp C# sau

lớp công cộng lớp nhỏ 
{
Vector3 công khai var1 = Vector3 mới (1,2,3);
chuỗi công khai var2 = "defaultval";

lớp nhỏ công khai()
{
var1 = Vector3 mới(11,22,33);
var2 = "hàm tạo";
}
}

Tôi có một lớp C# khác

lớp công khai lớp lớn  
{
public Smallclass[] Smallclasses;
}

Sau đó, ở nơi khác trong chương trình của tôi, tôi đã tăng quy mô của các lớp học nhỏ

lớp nhỏ = lớp nhỏ mới[3];

Nhưng tôi nhận ra rằng ba phần tử này trống rỗng... đây có phải là hành vi đúng không?

Vui lòng cho phép tôi làm rõ, bất cứ khi nào tôi thay đổi kích thước mảng lớp nhỏ, các phần tử của nó sẽ tự động được "xây dựng"... Tôi chỉ không biết liệu điều đó có thể thực hiện được hay không.

Không giống như những gì tôi mong đợi, việc đặt giá trị mặc định không có tác dụng. Ngay sau khi tôi thay đổi kích thước mảng lớp nhỏ, các phần tử trống...

Cảm ơn mọi lời đề nghị.

Cảm ơn.

câu trả lời hay nhất

lớp nhỏ = lớp nhỏ mới[3]; Mảng không được thay đổi kích thước. Nó đang tạo ra một mảng mới.

khai báo mảng của bạn (public Smallclass[] Smallclasses;) trong lớp hạng lớn Một trường được tạo với giá trị ban đầu là null. tuyên bố lớp nhỏ = lớp nhỏ mới[3]; Tạo một đối tượng mảng mới và gán tham chiếu đến đối tượng cho trường lớp học nhỏ.

Bất cứ khi nào bạn tạo một mảng mới có kiểu tham chiếu (tức là lớp), tất cả các phần tử của mảng đều trống. Đây là hành vi được mong đợi. Xem phần 1.8 của đặc tả C#, trong đó nêu rõ: "Toán tử mới tự động khởi tạo các phần tử của mảng về giá trị mặc định của chúng, chẳng hạn như số 0 cho tất cả các loại số và null cho tất cả các loại tham chiếu."

Về c# - Xác định các giá trị mảng mặc định từ thể hiện của lớp, chúng tôi tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/7919094/

25 4 0
không gian vũ trụ
Hồ sơ

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá taxi Didi miễn phí
Phiếu giảm giá taxi Didi
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress