C#.NET Q&A

Linq로 불러온 데이터의 커서 이동 devker 평점: 없음 조회: 123
private void TransThreadMethod()
{
  while (true)
   {
     try
     {
       var query1 = 데이터 불러오는 쿼리
     }

     foreach (var tb1_item in query1)
     {
      

       if (tb1_item.Command.Equals("Receive"))
       {
          //불러온 데이터가 Recive경우 처리
       }
    
       else if (tb1_item.Command.Equals("Send"))
       {
         //불러온 데이터가 Send경우 처리
       }

위와같이 현재 XML파일을 LINQ로 불러와서 처리하고 있습니다만 예를 들어 불러온 데이터가
순서대로 처리되다가 뭔가 조건이 있을때 Query1에 불러온 커서를
다시 맨처음 1번에 놓아두고 다시 시작해서 판단하고 싶은데 가능할까요??

메소드를 종료하고 다시 쿼리를 실행해서 불러오는 방법말고 기존 불러온거에서
데이터 커서만 이동해서 처리할수 있을까요...

1 답변
2 좀
3 부탁
4 드립니다
5 감사합니다

데이터에서 1 2 3 4 처리로 순서대로 foreach 실행중 중간에 다시 1번으로 돌가아서 1번부터 처리하도록...

태그 : 데이터 커서
작성자 정보
devker
Level 5
 [EXP.5/16]

메일:  비공개
글등록 +12 36 덧글등록 +3 9
자기소개
잘부탁 드립니다.
글 공유하기 |
  tweet facebook
2017-11-29 오후 5:09:18
나도한마디
사용자
몬난아            [2017-11-29]
Level 70
 [EXP.196/250]
기본적으로 Iterator 패턴을 구현해서 IEnumerable, IEnumerator 2가지를 구현하게 되어 있습니다.

기본적으로 foreach문은 해당 구문에서 IEnumerator 로 Next만 돌면서 커서를 변경하기때문에 말씀하신부분은
불가능합니다.

데이터 불러오는 쿼리부분의 리턴값을 IEnumerable이 아닌 List형식으로 하시고.

foreach대신에 for문을 돌리셔서 index값을 변경하는 방법이 최선입니다.
사용자
devker            [2017-11-29]
Level 5
 [EXP.5/16]
이렇게 처리를 해야하는군요..답변 감사합니다..
사용자
동구밖과수원            [2017-11-30]
Level 30
 [EXP.48/50]
foreach문을 이용하고 싶으시다면
함수로 구성해서하세요..

void Foo()
{
var query1 = 데이터 불러오는 쿼리
while(true)
{
bool isRestart = DoWork(query1);
if(isRestart ==false)
break;
}
}

....

bool DoWork(query1)
{
bool isRestart = false;
foreach (var tb1_item in query1)
{
if(조건)
{
isRestart = true;
break;
}
}
return isRestart;
}
사용자
한가람1            [2017-12-07]
Level 24
 [EXP.33/50]
해당 코드로 적여 드릴께요
var varTemp = query1 .GetEnumerator();
while(varTemp.MoveNext()){
if(varTemp.Current == "조건")
{
varTemp.Reset();
}
}

무한루프 조심해야 합니다.
태그로 엮인글
[C#.NET Q&A] DevExpress gridview 분할  행숨
[C#.NET Q&A] 프로그램 실행시 마우스 커서 관련 질문입니다.[2]+2  루키토
[C#.NET Q&A] listview 깜빡임 문제 질문드립니다.[2]+2  짜지않은스팸
[C#.NET Q&A] date 함수 입력시 시리얼통신 수신데이터 끊기는 현상 해결방법좀 알려주세요 ㅠ[1]  오예
[C#.NET Q&A] 폼간 데이터 전성 할 때 어떤방법을 쓰나여 ?[2]+3  프리라인
[C#.NET Q&A] C#에서 안드로이드로 데이터 전송[2]+4  밀키스
[C#.NET Q&A] C# DB연동으로 관리 프로그램 작성 질문[4]+9  개발입문자
[C#.NET Q&A] 폼 간 실시간 데이터 처리[1]+5  mmemmemme
[C#.NET Q&A] DataGriwView row에서 셀 병합 질문 드립니다.[3]+2  짱구파워
[C#.NET Q&A] 폼간 데이터 전송[1]+1  mmemmemme
글리스트
탭컨트롤에 유저컨트롤을 띄우는 방법 질문 드립니다.[1]+1  굿모닝
텍스트를 이미지로 만드는것이 가능할까요?[3]  엿장수
안녕하세요 오류좀 봐주세요 ㅜ 보호된 메모리를 읽거나 쓰려고 했습니다. [2]  오하우하
c# ftpclient 이어받기 질문[1]+1  Benjamin
패널에 폼을 탭으로 가져오는 방법[2]+2  굿모닝
C# 오라클 DB Insert가 안됩니다;;[1]  겸쓰
HttpWebRequest 에서 특정 쿠키가 안구워집니다.[1]+1  이제막
C# Application.DoEvents() 의 용도좀 알려주세요.[1]+3  그륜힐
c#에서 .0 이 뭔가요?[1]  Tube
C# Refresh(새로고침) 질문드립니다.[2]  범범조조
 ★현재글->   Linq로 불러온 데이터의 커서 이동[3]+1  devker
c# 마샬링 질문  SOS1324
c# oracle 질문입니다...  망뭉
stackoverflowexception 질문드립니다.[3]+2  제스
마샬링 질문좀 드립니다..  델타라인
C# 다른폼 함수 실행 질문드립니다.[2]  호랑이구이
비주얼 스튜디오 옵션 질문[1]+3  Begin
c#에서 쓰레드와 타이머의 차이점이 뭔가요??[2]+1  Tube
C# 두개의 데이터그리드 연동 관련해서 질문드립니다 ㅜㅜ [1]  c#초보개발자
Visual Studio Text Edit 기능[1]+1 파일첨부 Winterer
ini 사용관련 이상한점 발견해 질문합니다.[2]+2  오마르