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

c# - 为什么编译器将 bool 转换为整数并返回 bool 而不是返回 bool 本身?

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

tôi đang đọc VideoFileWritertừ AForge.Video.FFMPEG Lớp được tập hợp thông qua ILSPY (Tôi muốn xem các phương thức cụ thể hoạt động như thế nào) và tìm thấy điều này:

bool công khai IsOpen {
[trả về: MarshalAs(UnmanagedType.U1)]
get {
return ((this.data != null) ? 1 : 0) != 0;
}
}

Lý do chuyển đổi bool thành số nguyên thay vì trả về bool là gì? ?

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

Đó là mã bị dịch ngược và rất có thể chỉ là một trục trặc trong trình dịch ngược.

Sau một số suy nghĩ thì đây là một cách triển khai hợp lý có thể giống như một mã được biên dịch

public enum ConnectionState
{
Đóng = 0,
Mở = 1,
Mở = 2,
Những thứ khác = 3,
VàSoOn = 4,
}

bool công khai IsOpen
{
lấy
{
Trạng thái ConnectionState;
nếu (this.data != null)
{
trạng thái = ConnectionState.Open;
}
khác
{
trạng thái = ConnectionState.Closed;
}

trạng thái trả về != ConnectionState.Closed;
}
}

Về C# - tại sao trình biên dịch chuyển đổi bool thành số nguyên và trả về bool thay vì trả về chính bool? , 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/37957870/

27 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