使用Linq的另一种方法的数据

时间:2014-05-21 21:23:34

标签: c# linq rest

所以我有一个方法会返回一个对象数组,但我想在查询方法中调用该方法,该方法将使用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();
    }
  }

1 个答案:

答案 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()也可以公开使用。