2017-02-18 5 views
0

を含むオブジェクトのリストを初期化するコンストラクタを使用する方法、私は、オブジェクトのリストを初期化するために、このコマンドを使用して、それが正常に動作します。しかし今配列

public class RelatedBlog 
{ 
    public string trekid { get; set; } 
    public string imagepath { get; set; } 

    public RelatedBlog(string trekid, string imagepath) 
    { 
     this.trekid = trekid; 
     this.imagepath = imagepath;   
    } 
} 

trek.relatedblog = new List<RelatedBlog>    
{ 
    new RelatedBlog("trekid", "../Images/image.jpg"),   
}; 

、最近私が代わりに最初のプロパティとして単一の文字列で、私はいくつかの文字列の配列を持つようにしたいことを決めた - 4にサイズアップ(とそれはまた、固定することができ、私は入力することができます初期化中はNULLになります)。私は、コンストラクタを呼び出すときに「(」これは私が使用しているコードですが、それは仕事をdoesntの、それはいくつかのより多くを期待しています。私はミスをし、どのようにこのリストを正しく初期化する場所

public class RelatedBlog 
{ 
    public string[] trekid { get; set; } 
    public string imagepath { get; set; } 

    public RelatedBlog(string[] trekid, string imagepath) 
    { 
     this.trekid = trekid; 
     this.imagepath = imagepath;   
    } 
} 

trek.relatedblog = new List<RelatedBlog>    
{ 
    new RelatedBlog({"string1", "string2"}, "../Images/image.jpg"),   
}; 

誰かが私に助言することができます。おかげでたくさんの

+0

何に等しいのですか? –

答えて

2

用途:あなたはimplicitly typed arrayを使用している

trek.relatedblog = new List<RelatedBlog> 
{ 
    new RelatedBlog(new[] {"string1", "string2"}, "../Images/image.jpg") 
}; 

、コンパイラは型の内部配列を検出することができますが、あなたは、配列渡していることを知らせる必要があります:

var arr1 = new[] { "hello", "world" }; 

は `新しいリスト ()`について

var arr2 = new string [] { "hello", "world" };