2010-04-21 24 views
20

Có cách nào để sử dụng ký tự tab như ký tự dòng mới bên trong lớp Môi trường, thay vì sử dụng "\t"?Lập trình sử dụng ký tự tab trong .NET?

+0

Bạn đang bỏ lỡ điều gì với "\ t"? –

+1

@ Oskar: Điều đó, tôi cho rằng, là một phần của câu hỏi. – SLaks

+0

@SLaks, đúng vậy. Có lẽ ông có thể viết rằng, mặc dù nó có vẻ rất rõ ràng bây giờ mà bạn đã chỉ ra nó –

Trả lời

41

số

Lý do duy nhất mà Environment.NewLine tồn tại ở tất cả là vấn đề nền tảng, mà ký tự tab không có.
Ký tự dòng mới là \r trên (Pre-OS X) Mac, \n trên UNIX và \r\n trên Windows.
Để cho phép .Net có thể di chuyển trên các nền tảng này, thuộc tính Environment.NewLine đã được tạo, để trả lại (các) ký tự dòng mới được nền tảng mà mã của bạn đang chạy sử dụng.

Ký tự tab là tiêu chuẩn trên tất cả các nền tảng, do đó, không có điểm trong việc tạo thuộc tính để trả lại.

+1

Nhưng nó sẽ hữu ích để có một tài sản trả về bao nhiêu không gian một tab tương đương với. Trong môi trường của tôi (trong vòng bốn feet của bàn của tôi), một tab bằng bốn không gian;) – RedFilter

+2

@OrbMan: Đó là một thiết lập trình soạn thảo. Nó sẽ là vô nghĩa khi có điều đó như là một khuôn khổ tài sản. – SLaks

+0

Tràn, nhưng Mac OS X (và do đó tất cả các máy Mac được cài đặt sau năm 2001 hoặc ở xa) sử dụng '\ n'. –

4

Nếu bạn thực sự muốn bạn, bạn có thể thêm tham chiếu và sử dụng Microsoft.VisualBasic.Constants.vbTab. Nhưng ký tự tab không phải là một cái gì đó thay đổi dựa trên môi trường của bạn vì vậy System.Environment sẽ không có tài sản cho bạn.

1

Bạn đang tìm kiếm một hằng số hệ thống được xác định trước cho điều này (như Environment.NewLine)? Không có những điều như xa như tôi biết, nhưng bạn chắc chắn có thể tạo ra hằng số của riêng bạn.

+0

Vâng đó là những gì tôi đang tìm kiếm. –

+0

@Joan: __Why__? – SLaks

+0

Tôi cho rằng đó là giá trị tương tự cho mọi nền tảng nhưng suy nghĩ, giống như khi nhân vật tab có vẻ được sử dụng rộng rãi, có thể "tốt hơn" để có nó như là một tài sản cố định. Tôi thấy mã với "\ t" trên tất cả các thời gian vì vậy nghĩ rằng nó sẽ được mát mẻ để có một hằng số được xác định mặc định. –

11

Hai năm cuối cho bữa tiệc tôi biết, nhưng nếu có ai gặp phải điều này, bạn cũng có thể sử dụng ControlChars.Tab.

+3

Tìm thấy trong không gian tên 'Microsoft.VisualBasic'. – cjbarth

+1

Bởi vì chỉ các nhà phát triển VisualBasic sử dụng các tab, phải không? –

Các vấn đề liên quan