서버에서 다수의 클라이언트들의 접속을 받아서
그 다수의 클라이언트 유저들을 Dioctionary로 관리하려고합니다.
socket과 ip주소와 picturebox등의 정보를 가지고 있는 User라는 구조체를 두고
유저가 접속을 할때마다 숫자를 ++하는 count=0 이라는 정수형 변수를 둔다고 쳤을 때
Dictionary<int,User> dic = new Dictionary<int,User>();
로 dictionary를 선언하고
dic.Add(count,User) 이런식으로 추가를 하고 있습니다.
여기서 궁금한 것은
4명의 유저가 접속을 했다고 가정했을 경우
2번 유저의 접속을 끊었다면//dic.Remove(2)
dictionary는
1, ,3,4 이런식으로 2번 자리를 비워두고 4번뒤로 item을 받는지 3번이 땡겨와서 1,2,3 이런식으로 하는지 궁금합니다
음..말이 어려운거같은데...아...어휘력이 안되서...음...
array 가 아닌 dictionary 니까 1,2,3,4 로 등록되고 2 를 빼면 1,3,4 가 남지요 딕셔너리의 키를 변수의 이름과 같다고 생각을 해 보시면 조금 이해가 편할 듯 합니다. 변수 이름을 1,2,3,4 로 만들어서 관리하다가 2 를 없앴다고 다른 변수들이 이름이 변경이 되면 곤란하겠죠?
만약 자동으로 채워지는걸 오히려 바라는 상황이라면 array를 쓰시고 따로 int 변수를 관리하지 마시고 array 에서 length 를 가져오세요
앗 네 감사합니다 해보겠습니다 ㅋ