728x90
반응형
WPF & C# - List<string> 동적 배열 ( 리스트 / array / dictionary
) |
MainWindow.xaml
1234567891011121314151617181920 <Window x:Class="WpfApp10.MainWindow"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d="http://schemas.microsoft.com/expression/blend/2008"xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"xmlns:local="clr-namespace:WpfApp10"mc:Ignorable="d"Title="MainWindow" Height="450" Width="800"><Grid><CheckBox x:Name="chk01" Content="chk01" HorizontalAlignment="Left" Margin="14,10,0,0" VerticalAlignment="Top" Click="chk_Click"/><CheckBox x:Name="chk02" Content="chk02" HorizontalAlignment="Left" Margin="14,30,0,0" VerticalAlignment="Top" Click="chk_Click"/><CheckBox x:Name="chk03" Content="chk03" HorizontalAlignment="Left" Margin="14,50,0,0" VerticalAlignment="Top" Click="chk_Click"/><CheckBox x:Name="chk04" Content="chk04" HorizontalAlignment="Left" Margin="14,70,0,0" VerticalAlignment="Top" Click="chk_Click"/><CheckBox x:Name="chk05" Content="chk05" HorizontalAlignment="Left" Margin="14,90,0,0" VerticalAlignment="Top" Click="chk_Click"/><Label x:Name="lbl" Content="Label" HorizontalAlignment="Left" Margin="130,10,0,0" VerticalAlignment="Top" Height="183" Width="102"/><Button x:Name="btn" Content="시작, 끝 넣기" HorizontalAlignment="Left" Margin="14,173,0,0" VerticalAlignment="Top" Width="94" Click="btn_Click"/></Grid></Window>cs
MainWindow.xaml.cs
12345678910111213141516171819202122 List<string> list = new List<string>();private void chk_Click(object sender, RoutedEventArgs e){CheckBox chk = sender as CheckBox;lbl.Content = "";string str = chk.Content.ToString();if (chk.IsChecked == true) list.Add(str);if (chk.IsChecked == false) list.Remove(str);foreach (string a in list) lbl.Content += a + "\n";}private void btn_Click(object sender, RoutedEventArgs e){lbl.Content = "";list.Insert(0, "시작");list.Insert(list.Count, "끝");foreach (string item in list) lbl.Content += item + "\n";}cs
Array, ArrayList, List 차이
Array
장점 : 가장 빠르다.
단점 : 배열크기를 미리 정해놓고 써야 한다.
ArrayList
장점 : 배열크기가 유동적이다.
단점 : 가장 느리다.(Object 형으로서 형변환때문에 박싱,언박싱이 계속 일어난다고 한다.)
List
장점 : ArrayList 보다 빠르다. (형을 지정해줘서 박싱, 언박싱이 없다고 한다.)
단점 : Array 보다 느리다.
결론...
배열 사이즈가 고정되어 있으면 Array
배열 유동적이고, 형식도 바뀌면 ArrayList
배열 유동적이고, 형식도 정해저 있으면 List
list.RemoveAll(s => s == "");
728x90
반응형
'Programing (프로그래밍) > WPF & C# (C Sharp)' 카테고리의 다른 글
WPF & C# - 템플릿 내 오브젝트 선택하기 ( Template / object ) (0) | 2018.05.29 |
---|---|
WPF & C# - foreach vs Join ( 속도 테스트 ) (0) | 2018.05.27 |
WPF & C# - 토글버튼 / 리핏버튼 ( ToggleButton / RepeatButton ) (0) | 2018.05.27 |
WPF & C# - Listbox, List<string> ( 리스트박스 / 추가 / 제거 / binding / 바인딩) (0) | 2018.05.25 |
WPF & C# - 색상변환 / 브러쉬, 컬러 ( Brush <-> Color / SolidColorBrush / 색상 형변환) (0) | 2018.05.24 |
[자작] WPF & C# - TouchTotalCount ( 터치 수 확인 프로그램 ) (0) | 2018.05.23 |
WPF & C# - 이벤트 라우팅 버블링/터널링/직접전달 테스트 ( Bubbling / Tunneling / direct / e.Handled = true ) (0) | 2018.05.23 |
WPF & C# - Color Name Table (컬러 / RGB / 색상) (0) | 2018.05.23 |