簡體   English   中英

如何使用Lambda表達式替換字符串參數

[英]How to use Lambda expression to replace string parameter

而不是打電話:

var shows = _repository.ListShows("PublishDate");

為了返回按發布日期排序的對象的集合,我想使用如下語法:

var shows = _repository.ListShows(s => s.PublishDate);

要利用lambda作為參數,我需要寫些什么?

public IEnumerable<Show> ListShows(Func<Show, string> stringFromShow)
{

}

在該方法中,使用

string str = stringFromShow(show);
var shows = _repository.OrderBy(s=>s.PublishDate);

存儲庫中的ListShows方法應如下所示:

public static IEnumerable<Show> ListShows(Comparison<Show> comparison)
{
    List<Show> shows = new List<Show>();
    ... code here ...
    shows.Sort(comparison);
    return shows;
}

然后,您可以使用lambda執行以下操作(它不像您的示例那樣簡單,但是可以工作):

ListShows((first, second) => first.PublishDate.CompareTo(second.PublishDate));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM