programing

목록 모음에서 메서드 선택

minimums 2023. 6. 17. 08:54
반응형

목록 모음에서 메서드 선택

저는 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

반응형