C# - IDisposable

개요 Disposable.Create() 로 IDisposable을 모을 수 있다. 컨테이너(IDisposableContainer)를 만들고 IDisposable한 인터페이스를 .AddTo(container)로 등록한다. public sealed class Resource : IDisposable { private readonly string name; public Resource( string name ) { this.name = name; } public void Dispose() => Console.WriteLine( "Disposed."...
더 읽기

C# - 날짜와 시간

MSDN의 날짜 포맷 https://msdn.microsoft.com/en-us/library/az4se3k1.aspx 현재 시간 중에서 시간:분(09:01)으로 얻고 싶을 때 DateTime.Now.ToString("hh:mm") // for non military time DateTime.Now.ToString("HH:mm") // for military time (24 hour clock) C#에서 String 형식으로 넘어온 날짜와 시간 데이터를 Datetime 형식으로 형변환 하기 // 출처:http://blog.naver.com/doghole/100117144255 string sDate...
더 읽기

C# - IPC

참조에 System.Runtime.Remoting을 추가한다. IPC로 통신할 데이터 객체 public class RemoteObject : MarshalByRefObject { static Queue<string> ClientMessage = new Queue<string>(); static Queue<string> ServerMessage = new Queue<string>(); public void ServerToClient(string msg) { ClientMessage.Enqueue(msg); } public void ClientToServer(string msg) { ServerMessage.Enqueue(msg); } public...
더 읽기

C# - Linq

기본 Linq는 아래의 2개의 데이터 소스를 대상으로 한다. IEnumerable 주로 온 메모리 데이터 소스를 나타내는 Interface LINQ to Object, LINQ to XML IQueryable 주로 외부 데이터 소스를 나타내는 interface LINQ to SQL, LINQ to Entity Where 조건을 만족하는 요소를 추출...
더 읽기

C# - 메모리

스택할당 stackalloc 키워드를 사용하면 지역 변수에 한해서 스택 할당을 할 수 있음 해당 함수를 벗어나면 메모리는 삭제된다. unsafe 기능으로 사용할 수 있다. MSDN 문서 http://msdn.microsoft.com/ko-kr/library/cx9s2sy4.aspx http://msdn.microsoft.com/ko-kr/library/aa664785(v=vs.71).aspx C#에서 포인터 사용하는 방법 http://rkddlsghk98.blog.me/30160902176 동적 메모리 할당 MSDN http://msdn.microsoft.com/ko-kr/library/aa664786(v=vs.71).aspx 메모리 최적화 필요한 만큼의...
더 읽기

C++11 - 고정형 정수 타입

C++11에서 고정형 길이의 정수 타입이 새로 생겼음. 고정형 길이라는 것은 int8_t, int16_t 등 타입에 숫자가 붙는 것을 말함. 플랫폼에 상관 없이 크기가 고정 되어 있어서 크로스 플랫폼 개발에 사용하면 좋음. 헤더 파일 #include <cstdint> 정수 타입 int8_t, int16_t, int32_t, int64_t...
더 읽기

C# - Enum

Enum의 요소를 foreach로 열거하기 void Main() { foreach (TEST val in Enum.GetValues(typeof(TEST))) { Console.WriteLine("{0} - {1}", val, (int)val); } } enum TEST { ITEM_1 = 1, ITEM_2 = 10, ITEM_3 = 21, } 결과 ITEM_1 - 1 ITEM_2 - 10...
더 읽기

C# - 자신의 ip 주소 얻기

string myIPAddress = ""; var ipentry = System.Net.Dns.GetHostEntry(System.Net.Dns.GetHostName()); foreach (var ip in ipentry.AddressList) { if (ip.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork) { myIPAddress = ip.ToString(); break; } }
더 읽기

C# - ConcurrentQueue, ConcurrentDictionary

ConcurrentQueue 자료구조 Queue의 멀티 스레드용 컨테이너 MSDN http://msdn.microsoft.com/ko-kr/library/dd267265.aspx 정의 var queue = new System.Collections.Concurrent.ConcurrentQueue<string>(); 데이터 추가 queue.Enqueue("First"); 데이터 참조 string item; if (queue.TryPeek(out item)) { Console.WriteLine("First item was " + item); } else { Console.WriteLine("Queue was empty."); } 데이터 가져오기(삭제)...
더 읽기