2014-11-24 5 views
1

아마도 이것은 어딘가에 물어 보았지만 찾지 못했습니다.목록 비우기 <string>

는이 같은 문자열의 목록이 있습니다 제목이 말하는 것처럼

public static List<string> AnimalsL = new List<string>(); 

public static void ListAnimals() 
    { 
    AnimalsL.Add("Animal one"); 
    AnimalsL.Add("Animal two"); 
    } 

public static void ReturnAnimals() 
{ 
    string[] Animals = AnimalsL.ToArray(); 
    if(AnimalsL != null) 
    { 
     for(int Index = 0; Index < Animals.Length; Index++) 
     { 
      System.Windows.Forms.MessageBox.Show(Animals[Index].ToString()); 
     } 
    }   
} 

[B] 위가 작동 코드를 [/ B]

그래서, 내 진짜 질문은 : 어떻게 완전히 빈 문자열 목록?

예를 들어, 동물 유형이 뱀이나 강아지 인 경우 동물 이름을 저장할 수 있으며, 내가 같은 카테고리로 넘어가는 것을 원하지 않을 수도 있습니다. 또는 추가하기 전에 목록이 비어 있는지 확인하고 싶을 수도 있습니다. 동물에게 나의 방법을 사용한 후에는 그것을 지우거나 지우십시오.

나는 동물 [] = String.Empty로 선언 생각했지만,이 실제로 목록을 지우 않을 것이다 ..

+1

AnimalsL.Clear'()에 대한 기준 인 – Plutonix

+0

간단하고 관련된 모든 질문이 목록 에 대해 이야기하고 있었고 & 이 무엇을 의미하는지 모르겠습니다. = D –

답변

2

두 가지 방법이 있습니다.

1.

AnimalsL.Clear(); // clears all the items in the list 

2.

AnimalsL = new List<string>(); // assigns a new instance 

사실, 새로운 인스턴스를 생성하면 해당 개체에 대한 참조를 유지하려는 경우 비록 다음, Clear 메서드를 호출 호출하는 것보다 빠르다 클리어가 좋습니다. '?? 여기서

Clear() vs new List Link

2

사용 List<T>.Clear() 방법은 목록 인스턴스에서 모든 항목을 제거합니다.

+2

답장을 보내 주신 모든 분들께 감사드립니다. 그러면이 링크를 즐겨 찾기에 추가하여 사소한 부분을 찾아야할지 확실하게하십시오. 이런 대답. –

+0

저는 이것을 정말로 이해하고 싶지만 온라인에서 설명을 찾을 수는 없습니다. 왜 일까요? 감사 –