본문 바로가기

728x90
반응형

.NET/C#

(29)
try~catch문(예외처리) 이번에는 예외처리에 대해서 공부해 보겠습니다. 예외란 뜻하지 못한 상황을 말합니다. 잘 돌아가던 프로그램이 어느날 갑자기 특정 상황에서 에러를 발생시키는 것을 예외라고 합니다. 대표적인 예로 0으로 나눈다던가 없는 파일을 불러온다 라는 상황을 말하는 것이지요. 프로그램 언어들은 이 예외를 try~catch 문으로 해결을 하였습니다. 예외가 발생할 수 있는 부분을 try로 감싸고 예외가 발생했을 때의 코드를 catch문에 넣어두는 것이죠. using System; namespace TryCatchText { class Program { static void Main(string[] args) { int a, b, c; a = 10; b = 0; c = a / b; Console.WriteLine(c); }..
스레드 정보 알아오기... 이번에는 현재 실행중인 프로세스에서 작동중인 스레드의 목룩을 가져오는 코드를 보도록 하겠습니다. Process 목록을 가져오는것 만큼 간단하게 처리를 할 수 있습니다. 스레드 목록을 가져올 때도 System.Diagnostics 클래스를 참조 해줘야 된다는걸 잊으시면 안되고요 ^^ using System; using System.Diagnostics; namespace ThreadInfoWirte { class Program { static void Main(string[] args) { Process proc = Process.GetCurrentProcess(); ProcessThreadCollection ptc = proc.Threads; Console.WriteLine("현재 프로세스에서 실행중인 ..
C# 소수(Prime Number) 찾기 학교에 다닐때 C로 많이 짜봤던 코드일것입니다. 소수 찾기 혹시 소수가 무엇인지 모르는 분을위해 잠시 설명을 드리면 어떤 정수의 숫자 중에서 1과 자기 자신으로만 나누어 지는 수를 소수라고 합니다. 2, 3, 5 같은 경우가 자기 자신과 1 로만 나누어지지요. 4를 보시면 1,2,4 로 나누어 집니다. 1과 자기 자신 말고도 나누어 지는 숫자가 있다는 것이죠. 소수에 대해서 알아보았으니 소수를 찾는 프로그램을 한번 만들어 보도록하겠습니다. using System; namespace PrimeNumberTest { class Program { static void Main(string[] args) { bool flag = true; for (int i = 2; i using System; using Sy..
C# 프로세스 목록 알아오기 이번에는 현재 컴퓨터에서 쓰고 있는 프로세스가 어떤것들이 있는지를 알아오는 프로그램을 만들어보겠습니다. winForm으로 멋있고 이쁜 프로그램을 만들고 싶지만 간단히 테스트 하기 위해서 간단히 콘솔로 알아보도록 하겠습니다. System.Diagmostics.Process 클래스의 GetProcess를 이용하면 현재 컴퓨터의 모든 프로세스의 정보를 알아올 수 있습니다. 그럼 간단히 프로세스이름, 프로세스 시작시간, 프로세스 PID, 메모리 사용량을 가져오는 프로그램을 만들어 보겠습니다. using System; using System.Collections.Generic; using System.Diagnostics; namespace ProcessInfoWrite { class Program { stati..
Thread 란? 참 오랜만에 쓰는 포스팅이네요. 한동안 이것 저것 신경쓸게 많아서 포스팅을 잘 할 수 없었는데요. 앞으로는 어떻게든 짬을 내서 포스팅을 할까 합니다 ^^ 아직 많이 부족한 실력이지만 저도 공부할겸 같이 포스팅도 하는 것이니 내용이 허접하더라도 많은 이해를 해주시면 좋겠네요 ^^ 우선 Thread(스레드라 칭하겠습니다)에 대해서 간단히 알아보도록 하겠습니다. 컴퓨터에서 프로그램을 실행하게 되면 cpu에서 프로세스를 생성합니다. 프로세스를 동시에 여러개 처리할 수 있는 기능 멀티프로세스이고요. 여러개의 프로세스를 처리하면서 그 시간을 더 효율적으로 처리하는 방법을 연구하게 되었는데 그게 스레드의 개념입니다. 스래드는 프로세서가 프로세스 작업을 처리하기 위해 할당한 프로세스 수행 시간을 쪼개 한 주기에서 여러..
Windows Forms의 시작 이제 드디어 거무스스르한 커맨드 창을 벗어나 윈도우창에서 테스트를 할 시간이 왔습니다. 왠지 기분이 도스를 쓰다가 윈도우 95가 나와서 새로운 환경을 경험하는 느낌이 드네요. 윈도우 응용 프로그램를 만드는 시작과 간단한 응용을 공부해 볼것인데요. 우선 윈도우 폼 응용 프로그램을 만드는 방법부터 나가보려고 합니다. 우선 프로젝트를 새로 만들겠습니다. 그러면 다음과 같은 화면이 나옵니다. 그럼 여기서 Windows Forms 응용 프로그램을 지정하고 이름을 입력후 확인을 누립니다. 그러면 다음과 같은 폼이 나타나죠. 이 화면이 윈도우 응용 프로그램을 만드는 첫 시작입니다. 솔루션 탐색기에서 program.cs를 열어 보시면 다음과 같이 입력되어 있는걸 보실수 있죠. 1 using System; 2 using..
C# Event 이번에는 지난번 보았던 델리게이트를 이용하는 Event에 대해서 알아보겠습니다. Event는 많은 분들이 어떤 개념인지 알고 계실겁니다. 우리가 키보드로 입력을 하거나 마우스를 움직이거나 클릭하는 모든 것들이 이벤트입니다. 마우스를 움직일때도 이벤트가 넘어가고 클릭했을 때도 이벤트가 걸려 있어 해당 행동을 하게 되어 클릭이 되고 마우스 커서가 움직이고 키보드로 글씨를 입력할 수 있는 것입니다. 이벤트는 위에서 말했듯이 델리게이트를 통하여서 구현이 됩니다. 이벤튼 여러 개의 작업들이 추가 될 수 있어야 하고 그 작업들은 외부 메서드를 필요로 할 수도 있습니다. 그런 작업을 위해서는 델리게이트가 필요로 하게되죠. 그래서 전에 델리게이트에 대해서 저는 공부를 먼저 했던거죠. 보통 책에서도 이런식으로 나오더군요..
C# delegate C#를 시작한지 1년이 되가는데요. 그 일년동안 꽤 많은 것을 공부했다고 생각했지만 그 공부한 것들중에서 정말 이해가지 않던것이 있었습니다. 그게 바로 delegate입니다. delegate는 공부하면서도 뭔지는 알겠지만 그것을 꼭 써야하는 이유나 언제 써야하는지는 정말 알지를 못하겠더군요. 제가 asp.net 위주로 공부를 많이하고 실무도 웹쪽을 많이 하다보니 그런것인지 delegate를 쓰질 않게 되더군요. 서론이 조금 길었네요. 그럼 지금부터 정말 델리게이트에 대해서 공부해보겠습니다. 델리게이트는 프로그램에서 어떤 기능을 대신 수행해주는 대리자 역할을 하게됩니다. 델리게이트는 사용자 정의형으로써 클래스와 같은 위치에서 선언되고 선언 형식은 메서드와 동일한 형식으로 선언되죠. 선언 형태는 다음과 같습..

728x90
반응형