본문 바로가기
반응형

C# 기술36

C# try catch finally 제대로 쓰기 try catch finally C# try 문 실행 순서 예제 정상적인 종료 (Exception 발생 안할 때) private string tryTest() { try { Console.WriteLine("#try"); return "return in Try"; } catch(Exception ex) { Console.WriteLine("#catch"); return ex.Message; } finally { Console.WriteLine("#finally"); } } 이 소스의 실행 순서는 1 2 3 #try #finally cs 입니다. return 하기 전에 finally 문이 실행됩니다. 만약 Exception 이 발생하면 어떻게 될까요? private string exceptionTest().. 2019. 1. 20.
DataTable VS Dictionary 검색 속도 차이 DataTable 과 Dictionary 의 속도 차이 C# 한때 PDA 개발할 때 데이터 처리를 Compact SQL 로 했습니다. PDA 는 성능이 좋지 않아서 뭐든 좀 느렸죠. 처음엔 DataTable.Select() 를 사용했습니다. 코드 예제 : string expression = "Date = '1/31/1979' or OrderID = 2"; string sortOrder = "CompanyName ASC"; DataRow[] foundRows = table.Select(expression, sortOrder); 그런데 데이터가 3,000건 이상 되면 (PDA 에서) 너무 나 드리더군요. 그래서 찾아보던 중 Microsoft Docs 를 보니 관련된 글과 아래와 같은 표가 있더군요. 속도 차.. 2019. 1. 19.
TextBox 숫자만 입력 ( Windows Form C# ) TextBox 숫자만 입력하기 Windows Form C# TextBox 에 이벤트를 추가합니다. 디자인 툴에서는 TextBox 를 선택하고 속성창의 이벤트아이콘(번개표시)를 클릭하고 KeyPress 이벤트를 추가합니다. 또는 Form_Load 이벤트에 코드로 이벤트를 추가합니다. 1 textBox1.KeyPress += textBox1_KeyPress; cs 그리고 KeyPress 메소드 안에 아래 코드를 입력합니다. private void textBox1_KeyPress(object sender, KeyPressEventArgs e) { if (!char.IsControl(e.KeyChar) && !char.IsDigit(e.KeyChar) && (e.KeyChar != '.')) { e.Handle.. 2019. 1. 19.
폴더 모니터링. Directory Watcher 폴더 모니터링 파일 생성,삭제,변경등 감지 이벤트 C# 에서 특정 폴더에 파일이 생성되면 처리하는 로직이 필요할때가 많습니다. 타이머를 써서 처리할 수도 있지만, 비효율적이죠. 주기적으로 계속해서 파일을 비교하고, 변화를 감지해야하니까요. 그래서 이벤트를 발생시키는 FileSystemWatcher 라는 것을 씁니다. C# 콘솔 프로그램으로 테스트 해보겠습니다. 먼저, 콘솔 프로젝트 생성. FileSystemWatcher 를 사용하기 위해 클래스를 생성하겠습니다. 그냥 Program.cs 에 main 함수 안에 작성해도됩니다만 -_- ㅋ . 클래스로 만들면 나중에 그대로 써먹을수있겠죠. 이벤트가 발생했을때 호출하는 함수를 delegate 로 넘기면 class를 호출한 곳의 함수를 쓸 수 있습니다. 음.. .. 2019. 1. 14.
log4net 사용법 ( Visual Studio Windows form ) C# LOG4NET 사용법Visual Studio 2017Windows Form Project 로깅은 모든 개발의 필수라고 할 수 있습니다.개발할때는 디버깅툴을 사용한다고 해도 로그를 찍어야 편하고, 프로그램을 릴리즈 해서 사용자가 사용하게 되면 버그를 잡을때 꼭 필요한게 로그 입니다. 아파치의 log4net 의 사용법을 알아보겠습니다. 일단 테스트할 프로젝트를 생성합니다.[파일] -> [새로만들기] -> [프로젝트] 클릭 Visual C# 에서 Windows Forms 앱(.NET Framework) 를 선택하고 이름을 입력합니다. Windows form 이 생성됩니다.일단 NuGet 패키지 관리자에서 Log4net 을 검색하여 설치합니다.예전에는 log4net.dll 을 다운로드 받아 참조에서 추가시켜줬는.. 2019. 1. 11.
Visual Studio Build Environmant, 빌드 환경 변수 설정 Visual Studio Build Environmant Setting DLL 을 생성하는 C++ Visual Studio Project 를 보다보면 프로젝트 속성에서 $(SomeVariables) 와 같이 $(변수) 를 사용하고있습니다. 리눅스에서는 terminal 등에서 설정하고 빌드하면 되는데, Visual studio 에서 직접 빌드할때 저 변수들을 어떻게 정의해야 하는지 알려드리겠습니다. 프로젝트 우클릭 -> 속성 (옵션) 상단의 [구성: Debug, release, 모든구성..] 에서 모든구성을 선택. 좌측 메뉴에서 구성속성 -> 디버깅 선택 우측 영역에서 "환경"라 인의 값에 ▼ 화살표를 누르고 "편집"을 클릭 변수=값 으로 변수를 입력하면 됩니다. 한줄당 하나. 만약에 값에 띄어쓰기가 있다.. 2019. 1. 10.
728x90
반응형