Ví dụ này là trong C# nhưng tôi hy vọng có thể áp dụng cho những người khác cũng dễ dàng.Bất kỳ sự cố nào khai báo biến và sử dụng TryParse để khởi tạo biến đó trên cùng một dòng?
Gần đây tôi phát hiện ra rằng những điều sau đây dường như chỉ làm việc tốt:
int i = Int32.TryParse(SomeString, out i) ? i : -1;
Bằng cách nào đó nó có vẻ như thể biến i
không nên về mặt kỹ thuật có thể truy cập tại điểm nó xuất hiện trong TryParse
. Hoặc tôi có thể chính xác để giả định rằng int i
tuyên bố biến hiệu quả, mặc dù chưa có kết thúc câu lệnh?
Ha!Điều đó thật tuyệt. Mã này là không tốt nếu -1 là một giá trị hợp lệ của SomeString, nhưng vẫn còn. Tôi thường muốn tôi có thể tuyên bố một biến "out" một cách ngầm định, ví dụ: nó sẽ không được tốt đẹp nếu bạn có thể viết 'if (int.TryParse (s, ra var i)) {...}' trong đó 'i' là một biến mới chưa bao giờ được khai báo trước đây? – Qwertie
Có lẽ, như Henk gợi ý, một phương pháp trợ giúp là tốt nhất. ví dụ, 'int CustomIntParse (chuỗi s, int mặc định) {}' – JYelton
Tôi đã chụp một số phương pháp trợ giúp để xem xét. –