.Net Framework 3.5 이상이라면 Linq를 이용해서 쉽게 검색이 가능 하지만
SmartClient 모듈의 Framework 버젼이 2.0이라 사용을 못했다 .
검색을 하면서 찾은 방법입니다~!!
1. 저장 클래스 선언
public class ServiceIDRepository
{
public int ServiceID { get; set; }
public string AgentID { get; set; }
public int ManualCount { get; set; }
public int PdsCallCount { get; set; }
public int WrapSeconds { get; set; }
}
// List객체 생성
List<ServiceIDRepository> serviceIDRepository = new List<ServiceIDRepository>();
2. 데이터 저장
serviceIDRepository.Add(new ServiceIDRepository() { ServiceID = 1 , AgentID = "id1" , ManualCount = 1 , PdsCallCount = 1, WrapSeconds = 1 });
serviceIDRepository.Add(new ServiceIDRepository() { ServiceID = 2, AgentID = "id2", ManualCount = 2, PdsCallCount = 2, WrapSeconds = 2 });
serviceIDRepository.Add(new ServiceIDRepository() { ServiceID = 3, AgentID = "id3", ManualCount = 3, PdsCallCount = 3, WrapSeconds = 3 });
serviceIDRepository.Add(new ServiceIDRepository() { ServiceID = 4, AgentID = "id4", ManualCount = 4, PdsCallCount = 4, WrapSeconds = 4 });
serviceIDRepository.Add(new ServiceIDRepository() { ServiceID = 5, AgentID = "id5", ManualCount = 5, PdsCallCount = 5, WrapSeconds = 5 });
serviceIDRepository.Add(new ServiceIDRepository() { ServiceID = 6, AgentID = "id6", ManualCount = 6, PdsCallCount = 6, WrapSeconds = 6 });
serviceIDRepository.Add(new ServiceIDRepository() { ServiceID = 7, AgentID = "id7", ManualCount = 7, PdsCallCount = 7, WrapSeconds = 7 });
serviceIDRepository.Add(new ServiceIDRepository() { ServiceID = 8, AgentID = "id8", ManualCount = 8, PdsCallCount = 8, WrapSeconds = 8 });
3. 검색
(1) 조건에 맞는 값의 인덱스 검색
int index = serviceIDRepository.FindIndex
(delegate(ServiceIDRepository sr) { return sr.ServiceID == 1 && sr.AgentID == 1; })
(2) 값의 존재 유무 검색
bool exists = serviceIDRepository.Exists
(delegate(ServiceIDRepository sr) { return sr.ServiceID == 1 && sr.AgentID == 1; })
(3) 조건에 맞는 값 열거
int manualCallSummery = 0;
int pdsCallsummery = 0;
int wrapSecondsSummery = 0;
serviceIDRepository.ForEach(delegate(ServiceIDRepository sr)
{
if (sr.AgentID == agentData.UserId)
{
manualCallSummery += sr.ManualCount;
pdsCallsummery += sr.PdsCallCount;
wrapSecondsSummery += sr.WrapSeconds;
}
});
'C# > WindowsForm' 카테고리의 다른 글
ASCII 코드를 이용하여 A~Z 문자 출력 해 보기 (0) | 2013.10.04 |
---|---|
DataTable에 Column PrimaryKey 설정 (0) | 2013.08.02 |
Thread 배열에 담아 다중 Thread 실행 해보기 (0) | 2013.06.19 |
텍스트 파일에 간단하게 로그 남겨보기 (0) | 2013.06.14 |
C# MS-SQL 데이터베이스의 특정테이블에 Bulk Insert 방법 (0) | 2013.06.13 |