checkboxlist에서 selected된 item 가져오기

checkboxlist에서 foreach문으로 selected된 item 가져오면 쉽게 가져올 수 있다.

하지만 linq를 공부하고 있는 나로써는 linq를 많이 써보고 있다.

마지막에 bit연산을 하지 않는다면 linq를 써도 좋을거 같은데,

결과 값(bit연산을 통해서)을 가져오기 위해 한번더 foreach를 쓰니 더 복잡한 코드가 되어 버렸다ㅜ

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
// 1. Linq 로 select된 값 구하기
SectionType rst = SectionType.None;
var array = chkSection.Items.Cast<ListItem>()
    .Where(c => c.Selected)
    .Select(v => (SectionType)Convert.ToByte(v.Value)).ToArray();
 
foreach (var item in array) {
    rst = (SectionType)(rst | item);
}
 
// 2. foreach 문으로 select된 값 구하기
foreach (ListItem item in chkSection.Items) {
    if (item.Selected) {
        rst = rst | (SectionType)Convert.ToByte(item.Value);
    }
}
cs

+ Recent posts