C# 둘중 어느게 덜 부담이 될까요?
글쓴이: lkiwi5001 / 작성시간: 목, 2021/11/25 - 3:21오후
한창 프로그래밍 공부하고있는 대학생 입니다.
현제 Value값이 객체 Client인 myDictionary가 하나 있습니다.
이 Client 객체에는 isOnline이란 변수가 bool 자료형으로 정의되어있습니다.
이때 제가 isOnline == true인 Client들만 foreach를 사용하여 반복문을 돌리고 싶은데
1.
foreach(var c in myDictionary){
if(c.isOnline == true)
{
//여기 코드 작성
2.
새로운 리스트 onlineClients를 만들어서
myDictionary에 새로운 client가 추가될떄 isOnline은 항상 true가 되므로
isOnline이 false가 될때 onlineClient에서 또한 삭제한 뒤
foreach(var c in onlineClients){
//여기 코드 작성
둘중에 어느게 더 나을지 모르겠습니다.
myDictionary에 들어갈 객체 수를 100~200정도로 생각하고 있는데
이 경우 어느게 덜 부담이 되는 프로그램일까요?
Forums:
관리 포인트는 줄이는게 좋죠
부담이라는게 코드 쪽인가요? 아님 프로세스 부하? 를 이야기 하시는 건가요?
Client 객체의 변수 하나 접근하는건 둘중에 어떤 방식이라도 크게 차이가 없어 보입니다.
메모리를 생각하면 당연히 조금이라도 2번 방법이 많이 들거고
onlineClient 가 정확하게 관리되지 못하는 상황이 생기는 사이드 이펙트를 고려한다면
1번 방식이 좋지 않나 생각해봅니다.
------------------------------------------------------------
ProgrammingHolic
댓글 달기