C# 프로그래밍 - 변수(Variable) 변수 변수(Variable)는 데이터를 담는 그릇 또는 컨테이너(Container)입니다. 프로그램은 임무를 수행하기위해 데이터를 사용합니다. 변수는 데이터의 저장공간으로 프로그램이 실행되는 동안 데이터를 일시적으로 저장하거나 계산 결과를 유지하기 위해 사용할수있습니다(실행 중에 값이 변경될 수 있으며 값을 읽기 또는 쓰기 가능) 변수는 메모리에 값을 저장하고 참조하기 위해 사용하는 이름이 지정된(식별자, identifier) 메모리 위치입니다. 변수의 선언 변수를 사용하기위해 변수를 선언해야합니다. 변수를 선언하는것은 값(value)을 저장하기 위한 메모리상의 저장 공간을 할당하는것입니다. 변수의 이름과 데이터 유형을 지정하여 변수를 선언할수있습니다. int ..
C# 프로그램의 컴파일 및 실행 순서 요약(C# 소스코드, 어셈블리, JIT, 기타)C# 소스코드의 컴파일 결과 생성한 어셈블리를 메모리에 로드하고 기계어 코드로 변환하여 프로그램을 실행하는 과정 1 - 개발자가 IDE(Visual Studio) 또는 텍스트 편집기에서 닷넷 코드(C#)로 프로그램을 작성합니다. 2 - C# 컴파일러(csc.exe)가 프로그램을 컴파일합니다(어셈블리 파일 생성)csc.exe는 C# 컴파일러로 .NET Framework에서 제공하는 기능 중 하나입니다. .NET Framework를 설치하면 csc.exe도 함께 설치됩니다. 이 컴파일러를 사용하여 C# 소스 코드를 컴파일하고 .NET Framework에서 실행 가능한 어셈블리 파일을 생성합니다. VB.NET으로 작성한 프로..
C# 프로그래밍 - 조건문 switchswitch 문switch 문은 주어진 값에 대해 여러 조건을 비교하고 해당 조건에 맞는 코드 블록을 실행하는 제어 흐름 구조입니다. switch 문은 조건을 평가하는 대신 변수의 값(정수, 문자열, 열거형등)과 case에 지정된 값들(상수)을 비교합니다. switch 문 기본 구조switch (변수) { case 값1: // 값1에 해당하는 코드 break; case 값2: // 값2에 해당하는 코드 break; case 값3: // 값3에 해당하는 코드 break; default: // 모든 case에 해당하지 않을 때 실행되는 코드 ..
C# 프로그래밍 - 조건문 if, if - else, if-else if, if 중첩if 문if 문은 주어진 조건이 참(true)일 때 특정 코드를 실행하도록 하는 제어 흐름 구조입니다. 조건문을 사용하면 프로그램의 실행 흐름을 제어할 수 있습니다. if 문 기본 구조조건이 참일 경우 중괄호 {} 안의 코드 블록이 실행됩니다. 조건이 거짓일 경우 해당 블록은 실행되지 않습니다. if (조건) { // 조건이 참일 때 실행되는 코드 } if문에서 조건식조건식은 참(true) 또는 거짓(false)의 값을 가져야합니다(boolean 값으로 평가되는 식 예를들어 true, false 또는 x == 5와 같은 표현식) 조건식에는 비교 연산자, 논리 연산자 등을 사용할 수 있습니다. 비교 연산자==:..
C# 프로그래밍 - 접근제한자(public, private, protected, internal, 기타)접근 제한자를 사용하여 클래스, 메서드, 필드, 속성 등의 접근 범위를 정의할수있습니다. 멤버의 가시성을 설정하여 객체지향 프로그래밍의 중요한 원칙 중 하나인 캡슐화와 정보 은닉을 구현하는 데 기여합니다. public모든 코드에서 접근 가능. 같은 어셈블리뿐만 아니라 다른 어셈블리에서도 접근할 수 있습니다. public class PublicExample { public int PublicField; public void PublicMethod() { // 모든 코드에서 접근 가능 } } private해당 클래스 또는 구조체 내에서만 접근 가능. 외부에서..
C# 프로그래밍 - Regex.Split 메서드를 사용한 문자열 분할Regex.Split 메서드는 정규식(Regex)을 사용하여 문자열을 분할하는 메서드입니다. 입력 문자열(input)을 일치하는 패턴(pattern)을 사용하여 문자열을 나누고 결과를 문자열 배열로 반환합니다. 복잡한 문자열 패턴을 처리하는데 유용하게 사용할수있습니다. 대괄호([])를 사용하여 정의한 패턴 예시 패턴에서 대괄호[] 내부에 나열된 문자 ;, |, , 중 어느 하나와 일치하는 경우 해당 문자 기준으로 문자열을 분할합니다(순서는 상관이 없음) using System; using System.Text.RegularExpressions; class Program { static void Main() { ..
C# 프로그래밍 - 제네릭(Generic) 클래스, 메서드 제네릭(Generics)을 사용하여 타입에 의존하지 않는 클래스, 메서드, 인터페이스등을 정의할수있습니다. 여러 데이터 타입에 대해 동일한 코드를 사용할 수 있어 코드 중복을 줄일수있습니다(코드 재사용성) 또 컴파일 시점에 타입 검사를 수행하고 박싱(boxing)작업에 대한 위험이 발생하지않아 런타임 오류를 줄일 수 있고(타입 안전성) 성능 향상에 기여합니다.제네릭은를 사용하여 정의합니다. 는 타입 매개변수로 객체 생성 및 메서드 호출 시 실제 타입으로 대체됩니다. 제네릭 클래스 예시public class GenericClass { private T data; public GenericClass(T value) { ..
C# 프로그래밍 - 배열(선언, 초기화, 크기지정, 자주 사용하는 메서드)배열배열(array)은 동일한 타입의 데이터를 저장할수있는 자료형입니다. 동일 타입 변수들로 이루어진 데이터 집합을 메모리 상의 연속된 공간에 저장하고 인덱스를 통해 각 요소에 접근할 수 있습니다. 배열 선언배열은 기본적으로 데이터 타입, 스퀘어 브라켓 [] , 배열이름으로 선언합니다. 타입[] 배열명; 기본적인 배열 선언(객체화되지않은 배열) 정수 타입의 데이터 집합을 저장하기위한 배열을 선언합니다. int[] intArray; 배열의 크기 지정 및 초기화배열을 선언할때 배열의 크기를 지정하고 초기값을 할당할 수 있습니다. new 키워드를 사용하여 배열을 객체화하고 squre bracket []에 배열의 크기 및 요소의 개수를 설..
C#, 닷넷 프레임워크(.NET Framework)닷넷 프레임워크(.NET Framework) 닷넷 프레임워크(.NET Framework)는 마이크로소프트에서 개발한 윈도우 운영 체제에서 실행되는 소프트웨어 프레임워크입니다. 개발자가 C# 프로그래밍 언어로 작성한 프로그램은 닷넷 프레임워크 환경에서 동작합니다. 닷넷프레임워크(.net framework)는 CLR(공용 언어 런타임, Common Language Runtime), 클래스 라이브러리(Class library), 기타(ASP.NET, ADO.NET, WCF, WPF, WF)로 구성되어있습니다. CLR(Common Language Runtime) CLR은 닷넷 프레임워크의 핵심 구성요소 중 하나로 .NET 언어로 작성된 프로그램의 실행환경을 제공..
C# 프로그래밍 - 문자열(String) 이스케이프 시퀀스, 축자 텍스트@이스케이프 시퀀스(escape sequence)역슬래시(\)로 시작하여 뒤에 오는 문자(또는 숫자)와 조합하여 특별한 의미를 가집니다. 줄바꿈, 탭 삽입 등을 수행합니다. 이스케이프 시퀀스 종류와 사용 예시 \n줄바꿈(Newline)Hello 다음에 줄바꿈을 수행합니다. string newline = "Hello\nWorld"; Console.WriteLine(newline); Hello World \t탭(Tab)Name과 John 다음에 가로 탭을 추가합니다. string tab = "Name\tAge\nJohn\t25"; Console.WriteLine(tab); Name Age John 25 \\역슬래시 문자 자체(..
C#, 닷넷 네이밍 가이드라인, 올바른 문자 표기법 문서모음 c# Coding Conventions(Naming conventions) https://docs.microsoft.com/en-us/dotnet/csharp/fundamentals/coding-style/coding-conventions C# Coding Conventions Learn about coding conventions in C#. Coding conventions create a consistent look to the code and facilitate copying, changing, and maintaining the code. docs.microsoft.com c# identifier naming rules and conv..