2011-03-14 4 views
0

C에서 작동합니다. 입력 목록.이 목록에서 검색해야합니다. 일부 문자열입니다. 검색 후 검색 매개 변수 사이의 모든 항목을 선택하고 싶습니다. 동료 사진 세부 사항을 밝히시오.검색 매개 변수 사이에 항목을 얻는 방법

텍스트 입력 파일 : enter image description here

컬렉션 : enter image description here

내가 다음 세트에서 데이터를 저장하는 TEXTFILE을 읽은 후, 수집 피하여 내가 원하는이 컬렉션으로 데이터 집합을 변환 검색 매개 변수 사이에 valuse를 얻으려면.

나는 벨로우 구문을 쓰지만, r3 결과는 나를 만족시킬 수 없다.

var InputList = (from p in ds.Tables["InputFile"].Rows.Cast<DataRow>().ToArray() select p.ItemArray).ToList(); 

      var r3 = (from c in InputList 
         where c.Any(e => e.ToString().Contains("Loading")) 
         select c).ToList(); 

질문이있는 경우 plz에 문의하십시오. 미리 감사드립니다.

+0

어떤 결과를 얻었으며 무엇을 기대 했습니까? –

+0

구문이 제공됩니다. r3의 결과물을 얻길 바랍니다. 내가 이미 원하는 것을 설명합니까? – shamim

+0

"검색 매개 변수 사이"란 무엇을 의미합니까? –

답변

0

쿼리간에 결과를 얻으려면 SkipWhile()TakeWhile()이 작동합니다 (둘 다 술어에 인덱스를 제공하는 변형이 있음).하지만 이미지가 주어지기를 원하는 것으로 생각하지 않습니다. 여기

var loadingIndexes = InputList.Select((r, i) => new { Row=row, Index=i }) 
           .Where(x => x.Row.Any(e => 
            e.ToString().Contains("Loading")) 
           .Select(x => x.Index); 
var betweenLines = loadingIndexes 
         .Select(i => InputList 
          .Skip(i) 
          .TakeWhile(r => !r.Any(e => 
                e.ToString().Contains("FULL"))) 
          .ToList()) 
         .ToList(); 

betweenLines는 FULL "(단독)"문자열을 포함하는 "문자열"로딩 "(포함 함)과 다음`DataRow를 함유 DataRow 사이의 각각의리스트는 DataRow S의 List S의 List 인 .

관련 문제