Tôi vừa tìm thấy một lỗi trong chương trình của tôi (sau khi một số lượng gỡ lỗi và xé tóc của tôi)C#: Tìm Bugs: if (false)
bool first = true;
foreach (RdAbstractNode node in listNodes)
{
if (!first)
{
// do stuff (does not change first)
}
// do more stuff (does not change first)
}
Như bạn thấy first
luôn là true
- không bao giờ đã thay đổi. Vì vậy, if(!first)
về cơ bản là if(false)
.
Trình biên dịch không tạo ra cảnh báo mặc dù nó được đặt ở cấp 4 (mức cao nhất).
Tôi làm cách nào để tìm lỗi tương tự if(false)
?
Tôi đang sử dụng VS 2010, Net 4.0 trình biên dịch, dự án thiết Net 2.0
'// do stuff' của bạn có thể làm điều gì đó có thể lật' đầu tiên' nhưng tôi đã thấy Resharper hiển thị cảnh báo về nội dung luôn sai hoặc đúng. –
hoặc đúng hơn, '// thực hiện nhiều nội dung hơn 'sẽ cần phải là công cụ lật biến. – cdeszaq