2017-02-27 61 views
1

啞C#問題,如果我有這樣的代碼:如何填充字符串類的列表?

public class singleString 
{ 
     public string ss { get; set; } 
} 
List<singleString> manyString = new List<singleString>(); 

我怎麼能填充manyString喜歡的東西{"1", "2", "3"}

回答

6

你可以做這樣的事情:

List<singleString> manyString = new List<singleString>() 
{ 
    new singleString(){ss="1"}, 
    new singleString(){ss="2"}, 
    new singleString(){ss="3"}, 
}; 
+0

括號不是必需的。 –

+0

是的,他們可以被刪除,但如果你把它們放在那裏就不會有錯誤。 –

5

定義的隱式轉換操作符

public class singleString { 
    public string ss { get; set; } 

    public static implicit operator singleString(string s) { 
     return new singleString { ss = s }; 
    } 
} 

然後,使用列表初始化

var manyString = new List<singleString>() { "1", "2", "3" }; 

您也可以使用相同的初始化數組運營商

singleString[] manyString = { "1", "2", "3" }; 
+0

使用隱式轉換器的優勢?在這兩者中,你更喜歡哪一個?爲什麼?謝謝。 – Jeb50

+0

@ Jeb50你問'我怎樣才能將manyString填充到像{「1」,「2」,「3」}?'這樣的東西。我寧願'列表' – Shreevardhan

+0

不明白你的意思_Iwould've preferred_'列表'。既然你提供了兩種填充列表的方法,好奇你喜歡哪一種。 – Jeb50