Microsoft MVP성태의 닷넷 이야기
글쓴 사람
흰털너부리
홈페이지
첨부 파일

안녕하세요.

wpf mvvm viewmodel에서 ObservableCollection을 사용 중입니다.

디비 조회등 다른 작업 결과를 list로 받고
무조건 ObservableCollection을 지우고 모든 데이터를 ObservableCollection에 넣었습니다.

성능 개선을 위해
변경 사항이 있는 것만 ObservableCollection에서 갱신하려고 합니다.

list 맴버 전체를 반복문으로 돌리고
ObservableCollection에서 FirstOrDefault를 사용해 비교 했습니다.
같은 값이 들어와도 항상 null을 반환합니다.

사진은 디버그로 같은 값인지 확인해 본내용입니다.


 private void SyncUserUI()
        {
처음에는 이렇게
            _userUIService!.SetUserUIs();
            UserUIs.Clear();
            _userUIService._userUIs.ForEach(u => UserUIs.Add(u));

이렇게 개선... 안됨
            _userUIService!.SetUserUIs();

            if (UserUIs.Count < 1)
            {
                UserUIs.Clear();
                _userUIService!._userUIs.ForEach(u => UserUIs.Add(u));
            }

            //List<UserUI> oldChange = UserUIs.Except(_userUIService!._userUIs, new DataCompare()).ToList();

            foreach (var item in _userUIService!._userUIs)
            {
                if (item.EmployeeNumber!.Equals("1") || item.EmployeeNumber.Equals("10"))
                {
                    var item3 = UserUIs.FirstOrDefault(u => u == item);
                }

                var item2 = UserUIs.FirstOrDefault(u => u == item);
                //완전히 같으면 넘어감
                if (item2 != null)
                {
                    //UserUIs.Remove(item);
                    //UserUIs.Add(item);
                }
                else
                {//완전히 같지 안으면
                    UserUIs.Remove(item2!);
                    UserUIs.Add(item);
                }
            }
            //UserUIs = UserUIs.OrderByDescending(x => x.Card);
        }








[최초 등록일: ]
[최종 수정일: 11/24/2022]


비밀번호

댓글 작성자
 



2022-11-24 10시28분
FirstOrDefault에 넘긴 u와 item의 타입이 UserUI인 것 같은데요, 그 타입의 Equals 메서드는 재정의하신 건가요?
정성태
2022-11-24 10시37분
[흰털너부리] 재정의 안했습니다.
감사합니다. 확인해보겠습니다
[guest]
2022-11-24 10시49분
[흰털너부리] 리스트 2개를 sync를 맞추는 좋은 방법 있으면 가이드 부탁드립니다.
재방법은 뭔가 수동이고 비효율적 이게 보여서요...
[guest]
2022-11-24 11시06분
정성태

... 91  92  93  94  [95]  96  97 
NoWriterDateCnt.TitleFile(s)
77정성태1/25/200515299    답변글 [답변]: 질문이 있는데요....
78임은선1/26/200515869        답변글 [답변]: [답변]: 질문이 있는데요....
72최정희1/19/200515277또 접니다.
73정성태1/19/200515029    답변글 [답변]: 또 접니다. [2]
74최정희1/19/200514385        답변글 [답변]: [답변]: 당연히 도움이 되지요.
75정성태1/19/200514998            답변글 [답변]: [답변]: [답변]: 당연히 도움이 되지요.
69최정희10/13/200414350저 기억하실런지? 그때 두리로IE툴바 만들어 주셨죠.
62엄길웅10/1/200415517매번 물어보기만 하는군요..
63정성태10/2/200415321    답변글 [답변]: 매번 물어보기만 하는군요..
64keal...10/5/200416988        답변글 [답변]: [답변]: 매번 물어보기만 하는군요..
65정성태10/6/200416854            답변글 [답변]: [답변]: [답변]: 매번 물어보기만 하는군요..
68keal...10/11/200414533                답변글 [답변]: [답변]: [답변]: [답변]: 매번 물어보기만 하는군요..
71정성태10/31/200414600                    답변글 [답변]: [답변]: [답변]: [답변]: [답변]: 매번 물어보기만 하는군요..
58엄길웅9/30/200414746안녕하세요.. 추석은 잘 보내셨는지요?
59정성태9/30/200414804    답변글 [답변]: 안녕하세요.. 추석은 잘 보내셨는지요?
60엄길웅10/1/200414749        답변글 [답변]: [답변]: 안녕하세요.. 추석은 잘 보내셨는지요?
56엄길웅9/23/200414999ATL을 이용해서 함수를 하나 만들었습니다.
57정성태9/23/200416055    답변글 [답변]: ATL을 이용해서 함수를 하나 만들었습니다.
61엄길웅10/1/200414763        답변글 [답변]: [답변]: ATL을 이용해서 함수를 하나 만들었습니다.
54차광석8/26/200414874잘 지내시죠?
55정성태8/27/200413968    답변글 [답변]: 잘 지내시죠?
52김명원8/3/200414811질문이요..
53정성태8/19/200414700    답변글 [답변]: 질문이요..
50김상표7/5/200414557질문요...
51정성태7/6/200414415    답변글 [답변]: 질문요...
45송야5/29/200414516웹페이지 자동로그인..
... 91  92  93  94  [95]  96  97