본문 바로가기
728x90
반응형

프로그래밍32

[c#] Region, 소스정리 #region 정리요약 이름 #endregion region ~ endregion 사이 내용을 접었다가 펼 수 있다. 소스 관리쉬워짐 2021. 1. 28.
[c#] string.Format 서식 서식항목 {index[,alignment][:formatString]} var value = String.Format("{0,-10:C}", 126347.89m); Console.WriteLine(value); index 문자열 표현이 문자열의이 위치에 포함 될 인수의 인덱스 (0부터 시작)입니다. 이 인수가 이면 null 문자열의이 위치에 빈 문자열이 포함 됩니다. Alignment 선택 사항입니다. 인수가 삽입 되는 필드의 전체 길이와 오른쪽에 맞출지 (양의 정수) 아니면 왼쪽 맞춤 (음의 정수)을 나타내는 부호 있는 정수입니다. 맞춤 을 생략 하면 해당 인수의 문자열 표현이 선행 또는 후행 공백이 없는 필드에 삽입 됩니다. Alignment 의 값이 삽입할 인수의 길이 보다 작은 경우 맞춤 은 무시.. 2021. 1. 26.
[Tip] Visual Studio 단축키 CTRL + ALT +L 솔루션 탐색기 열기 CTRL CTRL + K + C : 주석처리 CTRL + K + U : 주석해제 CTRL + K + D : 자동정렬 CTRL + M + M : 코드블록 접기, 열기 CTRL + K + K : 북마크 기능, 해제 CTRL + K + N : 다음 북마크로 이동 CTRL + HOME : 문서 처음 CTRL + END : 문서 끝 CTRL + ] : 괄호의 짝 찾기 CTRL + L : 한 라인 잘라내기 CTRL + F3 : 현재 커서의 문자열 찾기 (forward) CTRL + Shift + F3 : 현재 커서의 문자열 찾기 (backward) CTRL + G : 원하는 줄 위치로 이동 CTRL + F : 현재 문서에서 찾기 CTRL + SHIFT + F : 전체 솔.. 2021. 1. 19.
[sql] mssql DELETE문 조인(JOIN) DELETE A FROM 테이블 A A INNER JOIN 테이블 B B ON A.MENU_ID = B.MENU_ID AND ~~~ WHERE B.MENU_ID= '조건' DELETE 뒤에 테이블 별칭을 붙인다! 구글링한결과 From을 두번 쓰는경우도 있지만 요렇게하면 한 번만 씀 2021. 1. 12.
[c#] 프로그램 시작시 중복 체크 [DllImport("user32")] private static extern bool SetForegroundWindow(IntPtr handle); [DllImport("User32")] private static extern int ShowWindow(IntPtr hwnd, int nCmdShow); [DllImport("User32")] private static extern void BringWindowToTop(IntPtr hwnd); // 중복실행방지 var processName = System.Reflection.Assembly.GetExecutingAssembly().GetName().Name; var processList = System.Diagnostics.Process.GetProc.. 2021. 1. 12.
[c#] STAThread/COM(Component Object Model) 1. STAThread란? Indicates that the COM threading model for an application is single-threaded apartment (STA). - MSDN - 응용 프로그램의 COM 스레딩 모델이 STA (단일 스레드 아파트) 임을 나타냅니다. 무슨 말인지 잘 모르겠어서 구글링을 해보았다. STAThreadAttribute는 기본적으로 Windows 메시지 펌프가 COM 구성 요소와 통신하기위한 요구 사항입니다. 핵심 Windows Forms는 COM을 사용하지 않지만 시스템 대화 상자와 같은 OS의 많은 구성 요소가이 기술을 사용합니다. COM 스레딩 모델은 COM interop을 사용하는 응용 프로그램에만 적용됩니다. COM 스레딩 모델을 단일 스레.. 2021. 1. 12.
[c#] 쓰레드 동기화 클래스 3(AutoResetEvent, ManualResetEvent, CountdownEvent) 1. 신호에 의한 쓰레드 동기화 이전까지 배운 쓰레드 동기화들은 [c#] 쓰레드 동기화 클래스 1(Lock, Monitor) [c#] 쓰레드 동기화 클래스 2(Mutex, Semaphore) 공유 되는 리소스에 락을 걸어서 쓰레드 접근을 제한했다. 하지만 지금 배울 것은 대기중인 쓰레드에 신호를 보내어 쓰레드 흐름을 통제하는 방식이다. 많이 사용되는 방식에는 AutoResetEvent, ManualResetEvent, CountdownEvent, Wait/pulse 등이 있다. * 여기서 Event는 윈도우 프로그래밍에서 말하는 event와 다른 개념 = 쓰레드 동기화에 사용되는 OS리소스이다. 2. AutoResetEvent using System; using System.Threading; names.. 2019. 10. 8.
[c#] 쓰레드 동기화 클래스 2(Mutex, Semaphore) 이전글 [c#] 쓰레드 동기화 클래스 1(Lock, Monitor) 1. Mutex Mutex는 Monitor와 비슷하지만 한 프로세스 내 뿐만 아니라 프로세스간에서도 Locking이 가능하다. 하지만 Monitor Locking에 비해 50배 정도 느리므로 한 프로세스 내에서 Lock이 필요한 경우는 Lock이나 Monitor를 쓴다. Mutex를 using문으로 감쌌다고 해서 lock처럼 생각하면 안된다. mutex.ReleaseMutex를 사용해서 해제해야한다. using System; using System.Threading; namespace ThreadSafe { class Program { private static int baby = 0; private static object lockOb.. 2019. 10. 8.
[c#] 쓰레드 동기화 클래스 1(Lock, Monitor) 1. Unsafe Method : 쓰레드 동기화를 하지 않은 메서드 using System; using System.Threading; namespace ThreadSafe { class Program { private static int baby = 0; static void Main(string[] args) { for (int i = 0; i < 10; i++) { new Thread(CountBaby).Start(); } } private static void CountBaby() { baby++; Console.WriteLine(baby); } } } 2. Lock using System; using System.Threading; namespace ThreadSafe { class Progra.. 2019. 10. 8.
728x90
반응형