DataRow
을 반복하는 코드가 있고 DataRow
의 파이프 구분 된 열을 배열로 나눠서 List<string>
으로 나눕니다.배열에 대한 LINQ datarow 문자열과 문자열 목록에
LINQ를 사용하여 더 좋은 방법이 있습니까? 나는 시도했지만 아무 데있어!
List<string> allSizes = new List<string>();
foreach (DataRow resultRow in results.Rows)
{
if (resultRow["Sizes"] != DBNull.Value)
{
string[] sizes = resultRow["Sizes"].ToString().Split('|');
foreach (string size in sizes)
{
if (!allSizes.Contains(size))
{
allSizes.Add(size);
}
}
}
}
주'목록에 Contains' 특히 효율적이지 않습니다. 데이터 세트가 커질 수 있고 각 항목에 대해 목록에 있는지 여부를 확인하면 비용이 높아질 수 있습니다. 세트 기반의 데이터 구조를 사용하여 'Distinct'를 수행하는 것이 더 좋습니다. LINQ'Distinct' 메소드가 수행하는 작업입니다. – Servy