본문 바로가기

Study_C#

(8)
[C#] Various Keywords, Methods - new()Object 생성 시 사용C#에서는 내장 Class인 string, int, double 등을 포함한 모든 Class Object를 상속받으므로 new keyword를 통해 object 생성 가능CANClass canClass = new CANClass();canClass.CANConnect();  - Application.DoEvents()Window는 여러 작업을 동시에 처리하는 것이 아닌 Queue 내에 Message(작업)가 들어온 차례대로 작업을 처리특정 Process가 자원을 점유하는 동안에 다른 작업들은 Queue 내에서 대기DoEvents Method는 이런 대기중인 Queue의 Window Message(Click, Keyboard 입력 등)을 처리하라는 명령즉 다른 작업이 ..
[C#] Get, Set 키워드 Get, SetC++의 경우, Data의 은닉성을 위해 Member 변수를 Private나 Protected로 선언한 후, 그 변수를 이용할 때 Set(), Get()과 같은 함수를 만들어 이용해야 했음C#의 경우, Get, Set Property를 통해 이를 간단하게 처리할 수 있음 Class를 Instance화 하여 내부의 Field와 Property를 할당, 조회할 수 있음Field에 get, set을 이용해 Property로 처리할 수 있음이 때 Property의 값을 할당 및 반환할 때 사용 Field : Class / Structure에서 직접 선언되는 모든 형식의 변수. 값 할당, 조회만 가능Property : 값을 함수로 처리할 수 있음. 변수의 값을 변경하거나 가져올 때 조건을 걸어 변수..
[C#] Invoke, InvokeRequired, Delegate Invoke / InvokeRequired 사용 이유C#의 경우 보통 Main Thread만이 UI에 대한 Control을 조작할 수 있게 함 (Thread Affinitiy)응용 프로그램이 실행될 경우 기본적으로 하나의 Thread가 발생 : Main Thread이 Thread는 Main Form의 Event 처리 및 Main Form의 각종 Control들에 대한 읽기 / 쓰기 작업 수행Main Form에서 다른 Form을 띄울 경우에도 기본적으로 Main Thread가 자식 Form의 Control까지 모두 소유 이 때, Main Thread 외의 Thread에서 UI 상의 Control(Label, Textbox 등)에 접근하려 할 경우 아래의 Cross Thread Error 발생별도의 Thre..
[C#] Using의 2가지 사용법 1) 외부 DLL 사용using System;using System.Collections.Generic;using System.Linq;코드 상단에 사용되는 'using' Keyword는 import 외부 DLL 파일을 사용하는데 쓰임Namespace에 정의된 Type을 참조하는데 쓰임 DLL (Dynamic Link Library) : Microsoft Window에서 구현된 Dynamic Library다른 Program에서 활용할 수 있는 다양한 함수들을 내장하고 있다 2 ) 자동 Dispose를 통한 Resource 관리// Create and open the file in append modeusing (StreamWriter file = new StreamWriter(FileName, true)..
[C#] 비동기 관련 - Thread 관련 내용https://youngseong.tistory.com/357 Thread란- ProcessComputer에서 연속적으로 실행되고 있는 ProgramOS로부터 Memory를 할당받아 실행 중인 것Scheduling의 대상이 되는 Task와 거의 같은 의미로 쓰임여러 개의 Processor를 사용하는 것을 Multi Processing,같youngseong.tistory.com C#에서의 비동기 프로그래밍은 별도의 라이브러리 없이 내장된 비동기 모델을 통해 구현 가능 - 관련 Keyword1) Task비동기 작업 Wrapper비동기 작업 Modeling시에 사용되는 Keyword 2) async해당 Method를 'await' Keyword를 사용할 수 있는 비동기 Method로 ..
[C#] 자료형 정리 - List여러 Data를 저장할 수 있는 Data Type 선언아래처럼 'List' Keyword 사용 후 '' 사이에 원하는 Data Type을 입력List ExArray = new List(); 이후 'Add' 함수를 통해 해당 List에 지정한 Data Type 저장 가능ExArray.Add("This is example code");ExArray.Add("for study");ExArray.Add("C#"); 혹은 아래처럼 Add 함수를 사용하지 않고 '{ }' 사이에 초기화 할 값을 바로 입력할 수 있다List ExArray = new List(){ "This is example code", "for study", "C#"}; List 내의 Data들은 아래와 같이 Array 형태로 저장..
Doridori C# 강의 정리 2. Data Type과 Overflow 0. 강의 목표Data Type 간의 Conversion 및 Overflow에 대한 공부Parse / TryParse 함수를 통한 Data Type Conversiontry - catch 문을 통한 Exception 처리  - Data TypeC# Data Type의 종류크게 Boolean / Number(Integer + Float) / String 3가지로 분류 - OverflowData Type의 범위를 초과할 경우 발생하는 Error 1. 새 Project 생성 후 Control 추가새  Project 생성 후 실제 숫자 값이나 Data Type의 입력을 위한 TextBox 입력이후 옆에 Button 입력  1.1 Control Property 변경 이후 각 Data 표시 용 Label 및 동작용..
Doridori C# 강의 정리 1. String 0. 강의 목표Visual Studio 상에서 Project 생성 후 String과 관련된 여러 함수들을 적용시켜 그 결과를 화면에 표시앞쪽은 UI 그리는 내용 / 뒤쪽은 그 안에 들어가는 프로그램을 짜는 내용1. Visual Studio Project 생성Create a new project -> Windows Forms App (.NET Framework) 선택 후 이름 입력하여 Project 생성 Project 생성 직후 아래와 같은 창이 표시됨 위 창에 Text를 하나 집어넣고 그를 제어하는 것이 목표 2. Control 추가좌측의 'ToolBox' 클릭 후 Common Controls -> Label 선택이렇게 ToolBox에서 Form 상으로 끌어와 사용할 수 있는 요소들을 'Control' ..