본문 바로가기

C#

C# 교육 1일차

. NET FRAMEWORK

1.     CLR

2.     Class Library

1.     CLR

-Code가 실행되는 전반적인 환경 제공

 

소스코드 빌드(compile,link) 실행파일

.cs                    .exe

                       Microsoft Intermediate language

                       실행 | JIT Compiler (Native Compiler) : CLR에 포함

                            | Just In Time

                             Machine Code(native Code)

다양한 환경에서 구동 가능

-Managed Code (Managed Environment) (CLR이 관리하는)관리코드/관리환경

<->

Unmanaged Code (Unmanaged Environment) (CLR이 관리하지않는)비관리코드/비관리환경 (ex. 메모장)

2.     Class Library

Namespace로 주로 사용되는 클래스를 모아 둠

 

Console Application

Winform Application

WPF(Windows Presentation Foundation)

Web

-Web Site : .aspx

          ASP.NET MVC 최근에 많이 씀

.NET Framework (Windows OS)

Ver. 1.0 ~ 4.8 3.5부터 WPF 지원

.NET Core (Linux/MAC)

1.0  ~ 3.0

.NET (VS2022 – 6.0) : Windows/ Linux/ MAC

5.0 ~ 6.0

C:\Windows\Microsoft.NET\Framework

C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config

Machine.config 여기에 있는 설정을 가져다 씀 .재 정의도 가능

Web.config

 

Properties 에서 프로젝트 세팅 가능

 

솔루션은 왜 필요한가?

솔루션안에 프로젝트가 생성됨

하나의 솔루션 안에 여러 프로젝트 관리 가능

제거 -> 솔루션에서만 제거 됨

Visual Studio Files

솔루션 파일

프로젝트 파일 파일 리스트 + 설정 정보 저장 반드시 있어야 함

소스코드

실행파일

\Projectname\Projectname\ProjectName.csproj

개발시 Debug 모드 사용 배포시 Release

Blend에서 디자인 DirectX api사용

스토리라인 추가로 애니메이션 제작 가능

    C -> C++ -> java

-> C#

         포인터,  // 포인터, 전역변수 없음

전역변수

Data Type

-Value Type : stack에 저장

 Int n = 10; // System.Int32 구조체

Reference Type : heap에 저장 –class

-      string s= “Hello”; // 주소정보(변수) : stack에 저장 “Hello” heap에 저장

s=null; // 빠르게 GC에의해 메모리를 해제하려면 사용

object

var 초기값으로 형식 유추

string을 추가할 때,

+연산자를 사용하기 보다는 stringBuilderAppend를 사용한다.

+ 연산자를 사용하면 연산할 때마다 메모리가 할당되는 반면

stringBuilder를 사용하면 메모리 낭비를 방지한다.

@ : \를 그대로 출력

string filepath = "c:\\temp\\test\\test.txt";

string filepathAt = @"c:\temp\test\test.txt";

do While 한번은 실행 해야할 때

 

MS SQL Server Locla DB Engine 로컬에서만 사용가능

DB서버 : (locladb)\MSSQLLocalDB

인증 : Windows 인증

MS SQL Server Express Edition 리모트로 사용 가능

 

 

Mod2

Method

1.   매개변수 전달하는 방법

A.   Call by value (Passby-Value)

               i.      Stack에 복사본을 만들어서 사용

B.   Call by reference(Pass-by-Reference)

               i.      원본을 사용

              ii.      Ref

            iii.      결과값이 여러 개 일 때

C.   Out parameter

               i.      원본을 사용

              ii.      결과값이 여러 개 일때

            iii.      Out

2.   오버로딩 (중복)

3.   Optional Parameter 선택적 매개변수

A.   (오른쪽)에서부터 지정한다.

4.   Named Parameter 명명된 매개변수

ref Vs out

입력과 결과값으로 쓴다->ref 초기값 필요 입력으로도 쓰기 때문에 메서드에서 재정의 필요하지 않음

결과값만 쓴다 ->  out 초기값 필요 x 메서드 안에서 재정의 되어야 함