2012-12-21 51 views
5

我已經採取了列表,並在其中插入一些值,它如何通過列表作爲參數功能

public List<DateTime> dates = new List<DateTime>();   
DateTime dt1 = DateTime.Parse(12/1/2012); 
DateTime dt2 = DateTime.Parse(12/6/2012); 
if (dt1 <= dt2) 
{        
    for (DateTime dt = dt1; dt <= dt2; dt = dt.AddDays(1)) 
    { 
     dates.Add(dt);      
    }  
} 

現在我想這個名單即日期作爲參數傳遞給某個函數喜歡 -

somefunction(dates); 

我到底該如何實現?

+2

快速搜索就足以發現:'void Operate(List dates){}'。 – Mir

+2

@Mir - 我的快速搜索引起了我的這個問題。所以,從我+1到被低估的OP。 – hmedia1

回答

19

你需要做的是這樣的,

void Yourfunction(List<DateTime> dates) 
{ 

} 
4
public void SomeMethod(List<DateTime> dates) 
{ 
    // do something 
} 
0

你可以把它作爲一個List<DateTime>

public void somefunction(List<DateTime> dates) 
{ 
} 

但是,最好使用最通用的(如在一般情況下,基地)接口可能,所以我會用

public void somefunction(IEnumerable<DateTime> dates) 
{ 
} 

public void somefunction(ICollection<DateTime> dates) 
{ 
} 

您還可能希望通過列表的方法,如果你不希望的方法來修改列表之前調用.AsReadOnly() - 添加或刪除元素。

+0

我怎麼能通過該列表? 我的意思是如何添加datetime變量列表? –

+0

看看問題中的代碼。它創建一個日期列表併爲其添加單個日期。 –

0

其實我需要這在C#中團結,所以我認爲可能是一些one.this有用的是通過AudioSources的列表的一個例子,你想要的功能:

private void ChooseClip(GameObject audioSourceGameObject , List<AudioClip> sources) { 
    audioSourceGameObject.GetComponent<AudioSource>().clip = sources [0]; 
}