2012-06-25 30 views
8

Tôi biết rằng tôi có thể thiết rỗng nhưLàm thế nào để thiết lập giá trị của chuỗi null

string val = null; 

Nhưng tôi tự hỏi những cách khác tôi có thể thiết lập nó để null. Có một funcion như String.null mà tôi có thể sử dụng.

+6

Tại sao bạn cần một cách khác để làm điều đó? – Charleh

+1

tại sao sẽ làm chuỗi val = String.null được bất kỳ tốt hơn .. nulls có rất ít để làm với dây –

+0

Bạn có nghĩa là một 'void void StringUtils.SetNull (ra chuỗi s)' mà đặt 's' để' null'? Đó sẽ là IMHO khác. Có gì sai với nhiệm vụ? –

Trả lời

21

Tôi nghĩ rằng bạn đang tìm kiếm xa String.Empty

string val = String.Empty; 

Cập nhật: TheFuzzyGiggler bình luận là đáng nói:

Tốt hơn hết là đặt string thành empty thay vì null. Để tránh ngoại lệ sau này. Nếu bạn phải đọc và viết nhiều chuỗi , bạn sẽ có null ngoại lệ giá trị trên toàn bộ địa điểm. Hoặc bạn sẽ có một số tấn của if(!string.isNullorEmpty(string)) gây phiền toái

+6

Đánh tôi với nó! Nếu OP đọc này ..Tôi đã tìm thấy nó tốt hơn để thiết lập một chuỗi để trống rỗng hơn là null .. Để tránh trường hợp ngoại lệ sau này. Nếu bạn phải đọc và viết nhiều chuỗi, bạn sẽ có các ngoại lệ giá trị null ở khắp nơi. Hoặc bạn sẽ có một tấn nếu (! String.isNullorEmpty (string)) mà có được gây phiền nhiễu. – TheFuzzyGiggler

+2

+1 Giải thích của bạn xứng đáng với một câu trả lời riêng ... –

+6

Cảm ơn các đạo cụ. Chỉ vui vì tôi có thể giúp. Tôi sẽ để Asif lấy vinh quang đại diện. =) – TheFuzzyGiggler

4

null không phải là giá trị chuỗi đặc biệt (có String.Empty cho ""), nhưng là một đối tượng chung theo nghĩa đen cho tham chiếu trống.

14

Bạn cũng có thể sử dụng từ khóa mặc định.

string val = default(string); 

Dưới đây là một câu hỏi SO liên quan đến từ khóa mặc định: What is the use of `default` keyword in C#?

+3

... giống với 'string val = (string) null;', tức là tham chiếu null đã nhập. – Wormbo

+0

@Wormbo - chính xác. Tuy nhiên, điều tốt đẹp khi sử dụng 'default' là nó hoạt động với cả hai loại giá trị và kiểu tham chiếu. –

-1

Tùy thuộc vào ứng dụng của bạn, bạn có thể sử dụng string.Empty. Tôi luôn muốn khởi tạo null vì bộ thu gom rác rất tuyệt, nhưng không hoàn hảo và có thể đánh dấu chuỗi của bạn để thu gom rác nếu sử dụng theo cách nào đó mà bộ thu gom rác không thể phát hiện được (điều này rất khó xảy ra).

0

Rõ ràng hơn một cách để thiết lập một cái gì đó để null là gán kết quả của hàm trả về null:

string SomeFunctionThatReturnsNullString() {return null;} 

string val = SomeFunctionThatReturnsNullString(); 
0

gán nó vào giá trị này sẽ làm cho nó một null, (chọn datatype sql đúng, ở đây nó double)

System.Data.SqlTypes.SqlDouble.Null 
Các vấn đề liên quan