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으로 작성한 프로..
유니티 실습 예제 공굴리기 게임 만들기1 (플레이어 방향키 이동 설정, 카메라 이동 설정) 1)씬에 sphere, plane 게임 오브젝트를 생성합니다(player, ground) 2)새로운 재질을 생성하고 ground에 할당합니다. 3)플레이어(player)에 리지드바디(rigidbody) 컴포넌트를 추가합니다. 4)상단의 edit 메뉴에서 project settings의 input으로 이동합니다. 5)Horizontal, Vertical 축에 대한 입력이 좌우 및 상하 방향 키로 설정되어있는것을 확인할수있습니다. 6)플레이어(player)에 새로운 사용자 스크립트를 추가합니다(PlayerController) 7)사용자 스크립트를 작성합니다. 게임을 플레이하고 방향 키를 입력하면 플레이어(player)..
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# 프로그래밍 언어 공부하기 웹사이트 목록 마이크로소프트 c# 프로그래밍 가이드 msdn.microsoft.com/ko-kr/library/67ef8sbd.aspx C# 프로그래밍 가이드 다음 리소스에서 핵심 C# 언어 기능과 .NET을 통해 C#에서 액세스할 수 있는 기능에 대한 자세한 정보를 확인하세요. docs.microsoft.com csharpstudy www.csharpstudy.com C# 프로그래밍 배우기 (Learn C# Programming) www.csharpstudy.com solelearn www.sololearn.com SoloLearn: Learn to Code Join Now to learn the basics or advance your existing skills www..
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# Enum.Parse함수로 문자열을 열거형 개체로 변환 1)아래 예에서 열거형을 선언하고(animalTYPE) 해당 열거형 변수를 선언하였다(myanimalTYPE) 2)Enum.Parse 함수의 매개변수로 열거형 형식(typeof(animalTYPE))과 문자열을("rabbit")을 지정한다. 3)Enum.Parse 함수에서 문자열에 해당하는 열거형 개체를 반환한다.
c# - region, endregion를 사용하여 코드 블록지정하기 c#스크립트에서 region, endregion를 사용하여 확대 및 축소 할수있는 코드 블록을 지정할수있다. 1)아래는 몇가지 변수와 함수를 선언한 클래스이다. 2)블록의 시작에 #region, 끝에 #endregion를 입력하면 코드 블록을 지정하며 확대 및 축소할수있다. #region 다음에는 축소했을때 표시할 주석을 입력한다. 3)같은 방법으로 추가적인 코드 블록을 지정하였다.
c# - 컴파일 경고 표시하지않기(#pragma warning disable) c# 스크립트의 컴파일 및 코드 분석 결과에서 경고를 표시하지않는 방법이다. #pragma warning를 사용하여 특정 경고를 사용하거나 사용하지 않도록 설정할수있다. 1)예에서 정수형 변수가 선언되었지만 사용되지않았다. 2)컴파일 및 코드 분석결과 하단에 있는 오류 목록에 경고를 표시한다. (CS0168 the variable 'i' is declared but never used) 3)해당 경고를 표시하지않으려면 스크립트에 다음 코드를 입력한다. disable는 스크립트의 모든 경고를 표시하지 않도록 설정한다. disable 뒤에는 경고번호 목록을 쉼표로 구분하여 지정한다. #pragma warning disable 01..
C# 프로그래밍 - 제네릭(Generic) 클래스, 메서드 제네릭(Generics)을 사용하여 타입에 의존하지 않는 클래스, 메서드, 인터페이스등을 정의할수있습니다. 여러 데이터 타입에 대해 동일한 코드를 사용할 수 있어 코드 중복을 줄일수있습니다(코드 재사용성) 또 컴파일 시점에 타입 검사를 수행하고 박싱(boxing)작업에 대한 위험이 발생하지않아 런타임 오류를 줄일 수 있고(타입 안전성) 성능 향상에 기여합니다.제네릭은를 사용하여 정의합니다. 는 타입 매개변수로 객체 생성 및 메서드 호출 시 실제 타입으로 대체됩니다. 제네릭 클래스 예시public class GenericClass { private T data; public GenericClass(T value) { ..