'list'에 해당되는 글 2건

  1. 2018.03.08 ObservableCollection 과 List의 성능. 1
  2. 2013.12.06 C# 에서 List 또는 배열의 요소 비교.
내가 아는거/WPF2018. 3. 8. 15:46

이번 건은 내가 바보짓을 한 경우인데, 혹시라도 나같은 사람이 또 있을까? 싶어서 기록합니다.


WPF 프로그래밍을 하다보면 ObservableCollection을 사용하는 경우가 많고, View와 Viewmodel의 바인딩에 편리하게 사용합니다.

그런데, 클래스에 프로퍼티를 만들때도 Collection이 필요하면 습관적으로 ObservableCollection으로 만들었죠.

아무일도 없었습니다.

그런데 성능문제가 있어서 검토하다가 발견한게...

1
2
3
4
5
6
7
8
9
10
11
12
13
14
ObservableCollection<string> OCollection = new ObservableCollection<string>();
List<string> ListText = new List<string>();
private void Button_Click(object sender, RoutedEventArgs e)
{
    for (int i = 0; i < 1000000; i++)
    {
        OCollection.Add(i.ToString());
    }
 
    for (int i = 0; i < 1000000; i++)
    {
        ListText.Add(i.ToString());
    }
}</string></string></string></string>

ObservableCollection과 List에 1000000개의 아이템을 넣어봤더니, 속도가 2배정도 차이가 납니다.

필요없는곳에 ObservableCollection을 남발하지 맙시다 ㅜㅜ

Posted by zinzza
내가 아는거/C#2013. 12. 6. 11:17


작업 중 두 List가 같은지 틀린지를 비교해야 할 상황이 발생했다.


이런 경우 


1
2
3
4
5
6
7
8
9
10
11
12
List<string> a = new List<string>();
a.Add("a");
a.Add("b");
a.Add("c");
a.Add("d");
 
List<string> b = new List<string>();
b.Add("a");
b.Add("b");
b.Add("c");
b.Add("d");
bool same=a.SequenceEqual(b);

이렇게 하면 되는데

내 상황은 {"A", "B", "C"}와 {"C", "A", "B"} 가 같다고 나와야 하는 상황.


아씨... 루프 쫌 돌아줘야겠다... 하던 중 팀장님의 조언으로 쉽게 해결!


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
List<string> a = new List<string>();
a.Add("d");
a.Add("a");
a.Add("c");
a.Add("b");
 
List<string> b = new List<string>();
b.Add("a");
b.Add("b");
b.Add("c");
b.Add("d");
 
a.Sort();
b.Sort();
 
bool same=a.SequenceEqual(b);


이러~케!



Posted by zinzza