분류 전체보기 (328)
.NET (111)
S/W tip (35)
etc (63)
DB (34)
HOT item~! (48)
Disign pettens (4)
UX (6)
나의 S/W (2)
개발관련 이슈 (16)
Diary (1)
웹플러스 (1)
calendar
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
tags
archive
link
ColorSwitch 00 01 02
▣  foreach문에서 delete하기 - .NET/C# - 2012. 11. 2. 09:50

보통 collection을 foreach문을 사용하여 지울때 collection값이 바뀌면서 루프가 꼬이게 되어 에러를 뱉어내게 되어있는데

그래서 for문을 사용하거나 해야 하는데

간단하게 foreach문을 사용하여 해결하는 방법이 있다.


바로 select() 함수 이용하기!!!!

  

foreach (Hashtable ht in htList)

{

//이 부분을 dt.Rows가 아닌 dt.Select()를 이용하여 리턴 받는다. select는 다이나믹하게 row를 리턴해주기 때문에 아무 문제 없다.

      foreach (DataRow dr in dt.Select())

      {

            IDictionaryEnumerator myEnumerator = ht.GetEnumerator();

 

            while (myEnumerator.MoveNext())

                  {

                        if (dr[myEnumerator.Key.ToString()].ToString().Equals(myEnumerator.Value))

                        {

                              dr.Delete();

                        }

                  }

      }

}




articles
recent replies
recent trackbacks
notice
Admin : New post