C#

· C#
JSON은 JavaScript Object Notation의 약자로 가벼운 데이터를 주고받는 용도로 많이 사용됩니다. 또한, 문자를 사용하기 때문에 프로그래밍 언어뿐 아니라 사람이 확인하기도 매우 좋습니다. 그래서 JSON은 데이터 표준 방식 중 하나가 되었습니다. C#에서 JSON을 사용하는 것은 아주 쉬운데 제가 사용하고 있는, 아주 조금 더 편하게 쓰는 방법을 소개합니다. ✅ C# : Newtonsoft.Json Newtonsoft.Json은 nuget에서 가장 많이 설치된 패키지 중 하나로 Visual Studio에서 nuget 찾아보기 탭을 들어가면 항상 상위에 위치하고 있습니다. Newtonsoft.Json 패키지를 설치합니다. class -> JSON 변환에는 Newtonsoft.Json를 ..
· C#
프로그램의 상태를 저장하는 방법으로 INI를 많이 사용합니다. INI는 사용이 간편하고 초기화가 쉽기 때문에 많이 사용하지만 암호화가 제외된 만큼 보안에 취약하기도 합니다. 하지만 간단한 프로그램에서는 여전히 유용한 기능이니 알아두시면 좋습니다. ✅ INI 설정파일 C#에서 INIManger라는 Class로 .ini 파일을 관리하는 방법입니다. INI를 사용하기 위해 WINApi의 kernel32.dll 를 사용합니다. 우선 Kernel32Handler 라는 클래스를 만듭니다. 클래스명과 같은 파일명으로 생성합니다. Kernel32Handler.cs using System; using System.Runtime.InteropServices; using System.Text; namespace INI { ..
· C#
이 방법은 최신 C# 에서 동작하지 않습니다.조만간 다시 포스팅하겠습니다.      ICloneable 인터페이스는 단 한개의 메서드(Clone) 를 가지는 간단한 인터페이스입니다.이름과 같이 기존 객체의 복사를 위한 Clone()을 구현하면 되는데 얕은 복사 (ShallowCopy)와 깊은 복사 (DeepCopy)를 적절하게 사용해야합니다. 얕은 복사와 깊은 복사에 대해서는 다음 포스팅에서 알아보고 이 포스팅에서는 ICloneable 구현 미세팁을 공유합니다.  ✅ ICloneable.Clone() Return Type    Clone()을 그대로 구현하면 아래와 같은 형태가 됩니다. public class Person : ICloneable{ public string Name { get; set..
· C#
C#의 Console Application에서 Ctrl+C 를 입력했을 때 특별한 이벤트를 발생시키는 방법입니다. Console에서 구동 중인 Application을 중단할 때 종료 이벤트를 수행하는 것으로 로그 수집 종료, 메모리 반환 등의 코드가 수행되도록 처리하는 것이 일반적입니다. ✅ Console Application - Cancel (Ctrl+C) ConsoleCancelEventHandler using System; class Program { static void Main(string[] args) { Console.CancelKeyPress += new ConsoleCancelEventHandler(Console_CancelKeyPress); // Ctrl+C 가 발생할 때 까지 무한루프..
· C#
예제 소스코드 같은 걸 구해서 보면 클래스 또는 메서드 위에 [TestMethod] 이런 식으로 [ ]로 무언가가 명시되어 있습니다. 어트리뷰트(Attribute)라고 하는데 개발하는데 반드시 필요한 것은 아니라서 사용하지 않더라도 개발을 못하는 것은 아닙니다. 저도 이번 기회에 좀 알아봤는데 재미있습니다. ✅ 어트리뷰트 (Attribute) C#의 어트리뷰트(Attribute)는 코드의 메타데이터를 나타내는 데 사용되는 선언적 태그입니다. 이는 클래스, 메서드, 속성, 이벤트, 필드 등과 같은 다양한 프로그래밍 요소에 추가 정보를 제공할 때 사용됩니다. 어트리뷰트의 장점 어트리뷰트는 추가정보를 제공할 수 있다는 점에서 유용한데 이는 컴파일타임, 런타임 모두 해당됩니다. 컴파일러에게 추가적인 정보를 제공..
· C#
자료구조의 트리란, 부모 노드 밑에 여러 자식 노드가 연결되고, 자식 노드 각각에 다시 자식 노드가 연결되는 재귀적 형태의 자료구조다. 단, 자식 노드의 자식이 부모로 연결되는 경우는 보통 트리로 인정하지 않는다. 이라고 나무위키에 설명되어 있습니다. 트리에 대한 자세한 설명은 나무위키를 참고하세요. 보통 이진 트리 (Binary Tree)를 많이 사용하는데 저는 자식 노드를 2개 이상 가지는 다중 트리(Multi-Tree)가 필요해서 구현해 봤습니다. 이진 트리 - 위키백과, 우리 모두의 백과사전 위키백과, 우리 모두의 백과사전. 크기가 9이고, 높이가 3인 이진 트리 컴퓨터 과학에서 이진 트리(二進-, 영어: binary tree)는 각각의 노드가 최대 두 개의 자식 노드를 가지는 트리 자료 구조로,..
YUNYUN3915
'C#' 카테고리의 글 목록 (2 Page)