나는 vb.net을 사용하는 프로그램을 만들고있다. 콘솔 응용 프로그램이고 데이터베이스를 사용하지 않습니다.데이터 테이블에서 최소 가격을 찾기위한 Linq 쿼리
사용자가 입력 한 전화 번호로 가장 저렴한 가격을 찾아야합니다. datatable의 구조는 pricelist (id, code, operator, price)입니다. 원하는 전화 번호에 최저 가격을 제공하는 오퍼레이터를 제공 할 수있는 Linq 쿼리를 작성해야합니다.
나는 vb.net을 사용하는 프로그램을 만들고있다. 콘솔 응용 프로그램이고 데이터베이스를 사용하지 않습니다.데이터 테이블에서 최소 가격을 찾기위한 Linq 쿼리
사용자가 입력 한 전화 번호로 가장 저렴한 가격을 찾아야합니다. datatable의 구조는 pricelist (id, code, operator, price)입니다. 원하는 전화 번호에 최저 가격을 제공하는 오퍼레이터를 제공 할 수있는 Linq 쿼리를 작성해야합니다.
LINQ
확장 방법/쿼리를 사용하려면 IEnumerable
이 필요합니다. AsEnumerable()
확장 메소드를 호출하여 DataTable
에서 가져올 수 있습니다.
그런 다음 쿼리를 고장날 수 :
' Extract just the rows for the code entered by the user
Dim rowsForCode = dt.AsEnumerable().Where(Function(x) x("code") = userEnteredCode).ToList()
' Find the minimum price for these rows
Dim minPrice = rowsForCode.Min(Function(x) CDec(x("price")))
' Find the first row with the minimum price
Dim minRow = rowsForCode.Where(Function(x) x("price") = minPrice).First()
참고 : 동일한 코드에 대한 동일한 가격을 제공하는 여러 사업자가있는 경우, 테이블의 첫 번째는 항상 선택됩니다. 일치하는 모든 행을 가져올 수 있으며 (.First()
통화를 삭제) 문제가있는 경우 임의의 행을 선택합니다.
이 코드를 복사했습니다. 하지만 코드의 첫 번째 줄에서는 "dt"아래에 빨간색 선이 표시되며 스터드를 생성하고 "priclist"라고 쓰면 내 데이터 테이블의 이름에 과부하 해결이 표시됩니다. :/ –
@FaizanKarim 프로젝트에'System.Data.DataSetExtensions'에 대한 참조가 있고'Using System.Data'를 사용하여'AsEnumerable' 확장 메소드를 가져 오나요? – Mark
예 참조로 가져 왔으며 system.data도 가져 왔습니다. 내 프로젝트를 보내려면 어떻게해야합니까? 여기에 코드를 업로드해야합니까? 단지 4-5 가지 방법 일뿐입니다. –
"pricelist (id, code, operator, code)"는 질문과 관련하여 많은 의미를 갖지 않습니다. _price_은 어디에 있습니까? – J0e3gan
죄송합니다. 코드가 아니라 가격입니다. 나는 지금 이와 비슷한 것을 원합니다. Dim result() As DataRow = table.Select ("min (price) AND Code ="& code_passed_by_user) –