c#

우리가 개발을 하다보면 멀티 스레드환경으로 꼭 개발이 들어가게 된다. 특히나 UI를 만지다 보면 필수... WPF에서는 특히나 Single Thread 환경이기에 UI Thread에 대한 처리가 꼭 필요하다. MVVM으로 처리를 한다면 백그라운드에서 알아서 잘 해주기에 많은 신경은 안써주어도 알아서 바인딩되서 착착 UI에 업데이트되지만? 아무튼. 이러한 상황에서 1초마다 Timer를 발생시키는 System.Timer 요녀석을 통해 매 초 특정 기능을 수행하려고 한다. 허나 System.Timer는 오차가 존재한다는 점. 윈도우 응용프로그램은 하드웨어 클락? 을 이용치 않기에 오차가 무조건 존재하고 나는 그 오차가 +-0.000몇초차이로 존재하며 앞뒤로 있을 것이라 생각했지만 왠걸... 요런식으로 쌓이기만..
WPF에서 스크린 캡쳐 WPF에서 스크린 캡쳐는 기본적으로 위의 윈폼에서의 스크린 캡쳐와 같다. 즉, 화면크기 만큼의 Bitmap 객체를 할당하고, 여기에 Graphics의 CopyFromScreen() 메서드를 사용하여 화면을 복사해서 넣으면 된다. 단 화면 크기를 구하는 System.Windows.Forms.Screen 을 WPF에서 사용하지 않고 대신 System.Windows.SystemParameters.PrimaryScreenWidth와 SystemParameters.PrimaryScreenHeight 를 사용하게 된다. 코드 using System.Drawing; using System.Drawing.Imaging; using System.Windows; namespace ScreenCopy..
Chat GPT로 C#의 Thread 내용을 써보았다.. 내용을 보니 나름 괜찮게 써주는듯..? ------------------------------------------------------------------------------------------------------------------------------------------------------ C# Thread는 C# 언어에서 멀티스레딩을 구현하기 위한 기능입니다. 스레드는 하나의 프로세스 내에서 독립적으로 실행되는 실행 흐름으로, 여러 작업을 동시에 처리할 수 있도록 해줍니다. 이를 통해 프로그램의 성능을 향상시킬 수 있습니다. Thread는 System.Threading 네임스페이스에 속해 있으며, Thread 클래스를 사용하여 ..
이번엔 JSON이다. JSON은 사실 나도 잘 모르는............ 단순 XML같은 자료라고만 알고있다... 그리하여 JSON은 언어가 아니므로 어디서든 사용할 수 있는 만국 공통 자료형태라고 생각하면 좋을 것같다. 근데.. 이런 JSON을 왜 만들었나.. XML도있는데..? 파싱의 속도, 보기편함 등의 이유로 만들어졌다고 한다. XML보다 파싱도 빠르고 보기도 편하다나....... 사실 실제 프로젝트에서 사용해본적은 없기에 아직까지 와닿진않는다.... 그렇다고 사용하는법을 몰라선 안되는 법이니.. 사용하는 법을 알아보자..!! 간단하게 class를 만들고 해당 class를 갖고있는 변수데이터를 JSON으로 만든 후 파일로 저장하는 코드를 확인해보도록 하자. 일단 JSON을 사용하기 위해서는 Nu..
이전에 객체지향에 대해 알아봤다. 그 중 상속에 대해 더 적어볼까 한다. 상속은 클래스 만들지 정말 자주 쓰는 기능.. 간단하게 자동차에 대해 만든다 하더라도 자동차의 클락션 기능은 모든 자동차에 들어가는 기능이고 일부 기능들은 각 제조사에 따라 들어갈수도 안들어갈수도있다. 이러한 부분들을 생각하며 클래스를 구성한다면 중복되는 코드들을 상당히 줄여나갈 수 있다. 그리하여 상속하는 방법중 3가지 virtual, abstract, interface을 알아보도록 하자. 1. Virtual Virtual은 말 그대로 가상이다. 부모클래스에서 선언을 했더라도 자식클래스에서 재정의하여 사용하는 것이 가능하다..! 또한 재정의를 하지 않아도 사용 가능! 즉 재정의가 필수가 아닌것이다.! 하지만 재정의를 하기 위해서는..
이번엔 클래스에 대해 알아보자... C#은 OOP(Object Oriented Programming) 언어이다. C는 PP(Procedural Programing) 언어구요 다르게 말하면 C는 절차지향언어, C#은 객체지향 언어! 이렇게 말하면 또 쉽지... 절차지향은 위에서부터 차례대로 컴파일하므로 변수 선언, 함수 선언등을 언어의 상단에다가 해주어야 한다. 하지만 객체지향은 객체단위로 컴파일을 하므로 굳이 위쪽에 선언을 해주지 않아도 된다. 또한 객체지향은 캡슐화, 다형성, 클래스 상속등의 기능등의 기능을 제공하고, 이러한 기능때문에 객체지향을 많이 쓰게 된다. ( 그래도 C가 전세계에서 가장많이 쓰는언어지만.. 그만큼 빠름 ) 여기서 클래스 상속과 캡슐화, 다형성에 대해서 알아보자. 내가 생각하기에..
주지님
'c#' 태그의 글 목록