2009-10-28 19 views

cevap

4

Hep başvuru temizleyecektir hangi Nothing şekilde ayarlayabilirsiniz. Sonra çöp toplayıcı iyi bir fikir olduğunu bulduğunda geri kalanını halledecektir. Bu genellikle bu konuda endişelenmenize gerek olmaz bir yöntemin yerel değişken ise

split = Nothing 

Ancak, dizi en kısa sürede o kapsam dışına gider olarak çöp toplama için hazır olacaktır.

+0

Yönteminiz neden aşağıdakilerden daha iyi? sadece split diyorsun = hiçbir şey? –

+0

"Array.Clear" ifadesinden sonra, bölmenin (şimdi temizlenen) diziye bir referans tutacağını varsayalım. Benim örneğimde, hiçbir şeye referans olmayacaktır. Çoğu normal durumda farkın fark edilemeyeceğini söyleyebilirim (Metodun, yöntem bittiğinde kapsam dışında kalan bir yöntemde yerel bir değişken olduğunu varsayalım). –

+1

+1 "bunun için endişelenmenize gerek yok" için dizinin kendisi global bir değişken olmadıkça ve bu olası olmadıkça onu hiçbir şey olarak ayarlamanın iyi bir nedeni yoktur. –

8
ReDim split(-1) 
+0

yönteminiz neden aşağıdaki ikiden daha iyi –

+1

Üç yöntemde farklı: redim bölünmüş (-1) Bu, diziyi sıfır öğeleri olan bir dizi dizisi olarak bırakır. Array.Clear (split, 0, split.Length) Bu, diziyi, hiçbir şeyin değeri olmayan tüm öğeleriyle birlikte bırakır. split = hiçbir şey Bu, ayrılan bir değere sahip olmayan ayrılan yaprakları bırakır. Hangisi daha iyi? Bu değişir, ancak bazen bir fark yaratır. Örneğin, daha sonra bölmenin üst sınırını bulmak için ubound'u kullanırsanız, bu üç durum için 0, 3 veya bir hata alırsınız. – xpda

5

Hiçbir şey yapmanıza gerek yoktur. Çöp toplayıcı, işlerini değişkenleri temizleyecek. Açıkça her değişkeni hiçbir şeye ayarlamayın, böylece uygulamanızı yavaşlatamazsınız.

+0

Bu, şu ana kadar sağlanan tek doğru cevaptır. –