2014-03-13 62 views
0

所以,我有這樣的事情,是可以獲得龐大的信息列表:在列表集合中獲取特定列表?

public List<Event> _EventList = Event.GetCachedList().OrderBy(u => u.GetUpcomingDateTime(DateTime.UtcNow.Date)).ToList(); 

我現在可以在某些函數調用輸出的其中之一的時間,像這樣

protected string GetEarliestDate() 
{ 
    if(_EventList.Count > 0) 
    { 
     return "?date=" + _EventList.FirstOrDefault().DateList.FirstOrDefault().ToString("MM/dd/yyyy"); 
    } 
    return string.Empty; 
} 

protected string GetFormattedDate(List<DateTime> aDateList) 
{ 
    if (aDateList.Count > 0) 
    { 
     return aDateList.FirstOrDefault(u => u.Date >= DateTime.UtcNow.Date).ToString("MMMM dd"); 
    } 
    else 
    { 
     return string.Empty; 
    } 
} 

還有更多。相同的變量_EventList

我希望能夠做的是得到單獨的Lists爲每個這些,而不是調用其中的1函數。例如,如果該函數可以將所有這些返回給List<String>,以便我可以使用這些字符串列表返回值將其轉換爲JSON數組。我能夠轉換爲JSON就好了,但試圖弄清楚如何將它們變成單獨的字符串列表而不是一個字符串。

而且,我怎樣才能創建一個從_EventList的方法列表迅速,而不是這樣做呢?

protected List<String> GetTitle(_EventList) 
{ 
    List<String> theTitles = new List<String>(); 

    foreach(Event theEvent in _EventList) 
    { 
     theTitles.Add(theEvent.Title); 
    } 
    return theTitles; 
} 

因此,這應該返回所有Titles的列表。有很多方法可以獲取(從這些方法的返回)列表。猜猜我只是尋找一個更簡單的方法來處理這個問題。有人能幫我一下嗎?

謝謝

回答

1

是Select()方法你需要什麼? GetTitle()方法可以是單行代碼:

var theTitles = _EventList.Select(p => p.Title) 

Select()可幫助您將列表轉換爲另一列表。

+0

變種dateStrings = _EventList.Select(p值=>返回GetFormattedString(P)); – Junius

+0

'GetFormattedString'在當前上下文中不存在。這是什麼名字空間? –

+0

另外'theTitles'返回'Events'列表而不是'Strings',它需要返回一個字符串列表,但是如何? –