Ba hằng có chức năng tương tự như ngày nay, nhưng nguồn gốc lịch sử khác nhau, và rất thỉnh thoảng bạn có thể phải sử dụng một hay khác.
Bạn cần phải suy nghĩ lại những ngày của máy đánh chữ thủ công cũ để có được nguồn gốc của điều này. Có hai hành động riêng biệt cần thiết để bắt đầu một dòng văn bản mới:
- di chuyển đầu gõ về phía bên trái. Trong thực tế trong một máy đánh chữ này được thực hiện bằng cách di chuyển cuộn mang giấy ("vận chuyển") tất cả các cách trở lại bên phải - đầu đánh máy được cố định. Đây là phí vận chuyển trả lại.
- di chuyển giấy lên theo chiều rộng của một dòng. Đây là nguồn cấp dữ liệu dòng.
Trong máy tính, hai hành động này được thể hiện bởi hai nhân vật khác nhau - vận chuyển trở lại là CR
, ký tự ASCII 13, vbCr
; nguồn cấp dữ liệu dòng là LF
, ký tự ASCII 10, vbLf
. Trong những ngày cũ của máy in và máy in dòng, máy in cần phải được gửi hai ký tự này - theo truyền thống trong dãy CRLF
- để bắt đầu một dòng mới và do đó kết hợp CRLF
- vbCrLf
- trở thành chuỗi kết thúc dòng truyền thống , trong một số môi trường tính toán.
Vấn đề là tất nhiên chỉ sử dụng một ký tự để đánh dấu dòng kết thúc và có thiết bị đầu cuối hoặc máy in thực hiện tự động cả thao tác trả về dòng và dòng. Và vì vậy trước khi bạn biết, chúng tôi có 3 dòng kết thúc hợp lệ khác nhau: LF
một mình (được sử dụng trong Unix và Macintosh), CR
một mình (được sử dụng trong Mac OS cũ) và kết hợp CRLF
(được sử dụng trong DOS và do đó trong Windows). Điều này dẫn đến các biến chứng của các chương trình DOS/Windows có tùy chọn mở các tệp trong text mode
, trong đó bất kỳ cặp CRLF
nào được đọc từ tệp đã được chuyển đổi thành một đơn CR
(và ngược lại khi viết).
Vì vậy, để cắt ngắn (nhiều) câu chuyện dài - có những lý do lịch sử cho sự tồn tại của ba dấu tách dòng riêng biệt, mà hiện nay thường không liên quan: và có lẽ hành động tốt nhất trong .NET là sử dụng Environment.NewLine
có nghĩa là người khác đã quyết định cho bạn sử dụng nào và các vấn đề về tính di động trong tương lai sẽ bị giảm.
Một bổ sung cho điều đó ... từ những ngày cũ ... nó thường được sử dụng trở lại vận chuyển trên đó là của riêng bạn, do đó bạn có thể OVER-TYPE văn bản bạn đã in. Điều này thường được sử dụng để thêm đánh dấu hoặc các dấu hiệu khác, ví dụ: ---- ký tự được ghi đè để chỉ ra một từ bị gạch chéo. Khi máy chữ "Ball" có thể thay đổi được, bạn thậm chí có thể thay đổi phông chữ của các từ cụ thể trong câu như vậy. –
Điều đó cũng mang đến một sự khác biệt lịch sử. Backspace VS Xóa. Trên máy tính. Phím xóa lùi trên máy tính di chuyển con trỏ trở lại một vị trí và xóa ký tự trước đó. Điều này khác với vai trò truyền thống để di chuyển trở lại một không gian và KHÔNG xóa, nhưng quá loại. –