2011-09-27 19 views
7

Bu:Yığın veya Kuyruk için bir hazırsal başlatıcı nasıl belirtilir?

List<string> set = new List<string>() { "a","b" }; 

çalışıyor, ancak: derleyici Ekle isteyebilecek kadar aptal bana neden merak yapar

...does not contain a definition for 'Add' 

:

Stack<string> set = new Stack<string>() { "a","b" }; 
Queue<string> set = new Queue<string>() { "a","b" }; 

ile başarısız olur.

Peki, bir Queue/Stack yapıcısında bir başlangıç ​​nasıl olmalıdır?

cevap

11

Toplama başlatıcıları, geçtiğiniz her bir öğe ile Add yöntemini çağıran bir derleyici özelliğidir. Add yöntemi yoksa, kullanamazsınız. teşekkürler -

var stack = new Stack<int>(new [] { 1, 2, 3 }); 
+0

Güzel geçici çözümü:

Bunun yerine, bir IEnumerable<T> alır Stack veya Queue yapıcı çağırabilir. – ChrisJJ

İlgili konular