所以我有一个方法会返回一个对象数组,但我想在查询方法中调用该方法,该方法将使用linq返回结果。我认为这是可行的,但不确定我是否正确。我能想到的解决方案是调用方法&在查询方法中再次实例化数组,然后像往常一样使用linq。
Class A{
public Items[] GetItems(){
Items[] item = new Items[4];
return items;
}
}
在另一个文件中的另一个类中,它将使用rest进行一些路由。它使用A类中方法GetItems
的数据来查询服务器。可能会将数组作为参数传递给ItemsHandler
方法吗?
Class B{
[Route("~api/item")]
private IEnumerable<Items> ItemsHandler(){
return A.GetItems();
}
}
答案 0 :(得分:0)
所以,假设我正确地阅读了这个问题,我认为这至少是一个开始。如果我没有完全错误的轨道,我们可以担心具体细节:
private string[] Filter(string[] names, string like) {
return names.Where(n => n.Contains(like)).ToArray();
}
IEnumerable
也有一个.ToList()
方法,通常更方便,但你提到了数组。同样,如果数据元素不是字符串,则条件可能更复杂。
然后你可以相对自然地调用它:
string[] names = MethodThatReturnsAnArrayOfNames();
string[] filtered_names = Filter (names, "ar");
当然, Filter()
也可以公开使用。