목록 모음에서 메서드 선택
저는 asp.net 애플리케이션을 가지고 있으며, 현재 데이터 조작을 위해 데이터 세트를 사용하고 있습니다.최근에 이 데이터 집합을 목록 모음으로 변환하기 시작했습니다.하지만, 어떤 곳에서는 그것이 작동하지 않습니다.하나는 이전 버전에서 사용 중인datarow[] drow = dataset.datatable.select(searchcriteria)
그러나 목록 집합에는 특정 값을 찾는 데 사용할 수 있는 방법이 없습니다.검색 기준에 따라 값을 선택할 수 있는 방법이 있습니까?저는 이것이 가능한지 알고 싶습니다.제발 도와주세요.
음, 우선 첫째로.List<T>
에는 및 방법이 있지만 보다 관용적이고 현대적인 접근 방식은 LINQ:
// Find all the people older than 30
var query1 = list.Where(person => person.Age > 30);
// Find each person's name
var query2 = list.Select(person => person.Name);
이 작업을 수행하려면 파일에 사용 지침이 있어야 합니다.
using System.Linq;
이들은 술어와 프로젝트를 표현하기 위해 문자열을 사용하지 않습니다. 보통 위와 같이 람다 식으로 작성된 대리자를 사용합니다.
람다 표현식과 LINQ가 처음이라면 LINQ in Action, Pro LINQ, C#4 in a Nutshell 또는 나만의 C# in Depth와 같은 LINQ를 다루는 책을 먼저 구입하는 것이 좋습니다.LINQ는 웹 튜토리얼을 통해서만 배울 수 있지만, 저는 그것이 매우 중요한 기술이라고 생각하기 때문에 시간을 들여 철저히 배울 가치가 있다고 생각합니다.
당신은 또한 시도할 수 있습니다.
var query = from p in list
where p.Age > 18
select p;
사용해 보십시오.
using System.Data.Linq;
var result = from i in list
where i.age > 45
select i;
람다 식을 사용하여 다음 문장을 사용하십시오.
var result = list.where(i => i.age > 45);
일반에는 데이터를 필터링하는 데 사용할 수 있는 확장 방법이 있습니다.
행 배열이 있는 경우:
var rows = rowsArray.Where(row => row["LastName"].ToString().StartsWith("a"));
를 사용하는 경우 먼저 캐스트해야 합니다.
var rows = dataTableRows.Cast<DataRow>().Where(row => row["LastName"].ToString().StartsWith("a"));
스크립트를 사용했지만 가입을 위해 제가 도와드릴 수 있을 것 같습니다.
string Email = String.Join(", ", Emails.Where(i => i.Email != "").Select(i => i.Email).Distinct());
언급URL : https://stackoverflow.com/questions/3801748/select-method-in-listt-collection
'programing' 카테고리의 다른 글
SQL: 사용 가능한 모든 테이블에서 모든 데이터 삭제 (0) | 2023.06.17 |
---|---|
동시 가방 대 목록 (0) | 2023.06.17 |
테이블에 명명된 검사 제약 조건 추가 (0) | 2023.06.12 |
개인 클래스 메소드를 만드는 방법은 무엇입니까? (0) | 2023.06.12 |
TypeError: 'NoneType' 개체는 Python에서 볼 수 있습니다. (0) | 2023.06.12 |