Vì vậy, giáo sư của tôi đã đưa ra một số phản hồi về một dự án mà tôi đang thực hiện. Ông đã cập bến một vài điểm cho mã này:
if (comboVendor.SelectedIndex == 0) {
createVendor cv = new createVendor();
cv.ShowDialog();
loadVendors();
}
Đây là trong một bộ xử lý "thay đổi chỉ mục" combobox. Nó được sử dụng khi người dùng muốn tạo một nhà cung cấp mới, tùy chọn hàng đầu của tôi (chỉ số 0, không bao giờ thay đổi) mở hộp thoại "Tạo nhà cung cấp mới". Vì vậy, nội dung của hộp tổ hợp của tôi kết thúc như thế này:
Create New Vendor...
Existing Vendor
Existing Vendor 2
Existing Vendor 3
Vấn đề của anh ấy là với mã dòng đầu tiên:
if (comboVendor.SelectedIndex == 0)
Anh ta tuyên bố rằng 0 nên là một hằng số, và thực sự đã đánh dấu tôi vì điều đó. Ông tuyên bố tôi không nên sử dụng chữ trong mã của tôi.
Vấn đề là, tôi không hiểu tại sao tôi muốn biến mã đó trong tình huống đó thành một hằng số. Chỉ số đó sẽ không bao giờ thay đổi, cũng không phải là thứ mà bạn sẽ cần phải điều chỉnh. Có vẻ như lãng phí bộ nhớ để giữ một 0 trong bộ nhớ được sử dụng cho một tình huống rất cụ thể và không bao giờ thay đổi.
-1
trong str.indexOf(substr) != -1
cho " str
chứa substr
" được prefectly hợp lý. Nhưng ở đây, ý nghĩa của số 0 không rõ ràng (không liên quan gì đến việc tạo nhà cung cấp mới?) Cũng không thực sự không đổi (nếu cách tạo nhà cung cấp mới thay đổi thì sao?).
int.Zero
Thay vào đó, bạn có thể sử dụng để làm cho anh ấy hạnh phúc :)