2014-05-21 3 views
0

그래서 개체 배열을 반환하는 메서드가 있지만 linq 결과를 반환하는 쿼리 메서드 내에서 메서드를 호출 할 싶어요. 나는 이것이 가능하다고 생각하지만, 내가 옳은지 확실하지는 않습니다. 내가 생각할 수있는 해결책은 메소드 &을 호출하여 쿼리 메서드 내에서 배열을 다시 인스턴스화 한 다음 평소대로 linq를 사용하는 것입니다.Linq 다른 메서드에서 데이터를 사용하여

Class A{ 
    public Items[] GetItems(){ 
    Items[] item = new Items[4]; 
    return items; 
    } 
    } 

다른 파일의 다른 클래스에서 나머지 라우팅을 수행합니다. 클래스 A의 메소드 GetItems의 데이터를 사용하여 서버에 쿼리합니다. 아마 ItemsHandler 메서드에 대한 인수로 배열을 전달할 수 있습니까?

Class B{ 
    [Route("~api/item")] 
    private IEnumerable<Items> ItemsHandler(){ 
    return A.GetItems(); 
    } 
    } 
+0

LINQ to Objects, LINQ to SQL, EF는 어떤 종류의 LINQ 쿼리입니까? –

+1

배열을 반환하는 경우에는 MyMethod()처럼 사용할 수 있습니다.() ... –

+2

샘플 쿼리를 표시하기 위해 의사 코드를 작성할 수 있습니까? 당신이 묘사 한 것에서 이상적인 사용법을 보여주는 것. –

답변

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()

은 물론, 공개 할 수있다, 그 사용의 어디.

관련 문제