본문 바로가기
728x90
반응형

PROGRAMING📚/C#📑13

C# 델리게이트가 생성되는 방식(Action,Func,Delegate,Lambda) Delegate 대리자는 메소드의 주소를 참조해 메소드를 대신 호출해주는 기법이라고 말할 수 있다. 이런 대리자를 선언해주기 위해서 대리자(델리게이트) 선언을 해주어야한다. 방법은 다음과 같고 매개 변수를 안에 넣어 줄 수 도 있다. 한정자 delegate 반환타입 대리자이름 ( 매개변수) public delegate void TestDelegates(); 그리고 델리게이트를 사용하기 위해서 필드를 하나 만들어 주어야한다. 필드는 대리자의 한정자(private) 이름(TestDelegates) 필드 이름(testDeleateFunction) 이런 식으로 대리자를 선언해준다. private TestDelegates testDeleateFunction; Delegate를 사용하는 방법으로 위에 필드 안에 출.. 2023. 5. 18.
[Programing]C# - 삼항 연산자(?, ??) 기본 처리 방법 C# - 삼항 연산자(?, ??) 기본 처리 방법 [?, 기본 처리 방법] object tmp = {조건} ? {참(true)일 경우 return값} : {거짓(false)일 경우 return값} ? 연산자, 처리 방법은 조건문이 참(true)인지 거짓(False)인지에 대해서 간단하게 처리 하는 방법으로 사용된다. [예시] string Fruit = "apple"; string Grup = Fruit == "apple" ? "FruitGrup" : "No Fruit"; ?연산자를 이용해서 Fruit가 "apple"일 경우 Grup 문자열 안에 "FruitGrup" 이라는 문자열이 들어가고 아닐 경우에는 Grup 문자열 안에 "No Fruit"라는 문자가 들어가게 된다. [??, 기본 처리 방법] obj.. 2023. 5. 9.
배열(생성과 초기화 /이차원배열/가변배열) 이해하기 //배열// - 기본개념 : 같은 데이터형 + 변수명 + 순차적인 메모리 나열 - 참조형 : new를 통해 생성한다. - Array로 부터 파생된 참조형 - foreach(처음~끝 까지의 값을 읽어낸다.)를 사용 가능하다 데이터형 [] 배열명; int [] array_name; (예) int [] array; array = new int [] ; array = new int [3]; ------------------------- int [] array = new int [3]; int [] array = new int []; -------------------------- int [] array = ; - Array.Length 속성 : 배열의 개수에 대한 정보를 가지고 있는 변수와 같다. - forea.. 2019. 3. 13.
C#_기본 문법 //연산자// 단항 연산자 : 1개의 항을 대상으로 연산을 수행하는 것 (예) +, - .! . ~. ++, -- 등 * ! 은 bool형에만 사용함 -> C#에는 true, false 가 제공 된다. (예)!true -> false , !false -> true 산술 연산자 : 계산을 위한 연산자 (예) *, /, %, -, + * string에서 +는 문자열 연결로 사용된다. (예)정수/부동 소수 + "문자열" = "문자열" 시프트(shift) 연산자와 관계 연산자 (예) , >=, , 캐스팅의 성공유무 만 확인 할 수 있는 연산자 (형식) '변수' is '클래스형 or 데이터형 ' -> A is B (결과)true or false * 박싱/ 언박싱 변환, 참조 변환에서 사용한다. as 연산자 캐스팅.. 2019. 3. 7.
C#_클래스의 응용 //추상(가상) 메소드 & 추상 클래스// 처리를 명시 하지 않고 호출한 쪽만 정의 된 것을 추상 메소드라고한다. 이러한 추상메소드들을 가진 클래스를 "가상(추상) 클래스"라고 한다. -> 추상클래스의 객체는 생성 할 수 없다. 상속하여 추상 메소드를 오버라이드해야한다. * 수식자를 사용하여 정의한다. ->new 로 객체 생성 불가능 * abstract class Animal { public string name; public abstract void cry(); public void main(){ } } 추상 클래스를 상속하여 객체를 생성하려면 를 붙인 멤버가 있어야한다. -> 추상 메소드는 반드시 오버라이드하여 사용해야한다. (예) public abstract class PureBase { // ab.. 2019. 2. 23.
C#_클래스 //클래스// 클래스는 어떤 객체의 변수와 메소드의 집합으로 프로그램을 만든다고 볼수 있고 이러한 집합을 객체 지향이라고 하고, 동일한 속성과 행위를 수행하는 객체의 집합이라고 보면된다. 간단하게 예를 들어 어떤 치킨집이 있다고 하면 치킨집에서 치킨을 주문 할때 같이 나오는 것들이 있다. 젓가락, 무, 음료. 치킨 등 각자의 기능을 가진 요소 들이 있다고 하면 이 요소들은 하나의 객체라고 볼 수 있다. 여기서 포괄적으로 볼 경우에 음료와 치킨은 각각의 종류로 나눌수 있다. 예를 들어 음료는 사이다,콜라, 환타 등으로 치킨의 경우에는 양념, 간장, 후라이드로 나눌수 있다. 이런 식으로 '어떤 입력에 대한 작업의 결과를 출력해 주는 것'을 '함수'라고 한다. 그럼 여기서 클래스는 무엇일까? 클래스는 데이터(.. 2019. 2. 22.
C#_ 제어문 //제어문// 프로그램의 흐름을 바꾸고자 할 때, 사용하는 키워드를 제어문이라고 한다. 제어문에는 등 이 존재한다. //if 문// 조건에 따라 처리를 수행 할때 사용하고, 조건에는 비교 연산자나 논리 연산자를 사용하여 조건식을 작성한다. 는 영어의 의미 그대로 "만약 ~라면" 이라는 의미를 가진다. 그리고 는 의 조건에 해당하지 않은 모든 것들은 의 조건에 해당하게 된다. (= 조건에 무관되는 모든 조건들은 ) 다음 코드를 보면 만약에 a를 2로 나누 었을 때의 나머지 가 0인 경우에는 "짝수 입니다"가 출력되고 나머지의 경우에는 홀수로 출력 되게 한다. 조건에 반대되는 모든 경우에는, 다음 블럭으로 넘어가 "홀수 입니다" 출력된다. 즉, 문 안에서 조건이 일치할 경우, 문에 들어가 처리를 하고 조건이.. 2019. 2. 21.
C#_데이터형 //기본 데이터형// - C#의 데이터형 object로 부터 파생된 객체 System.Object == object * object는 객체를 생성하기 위한 클래스와 같다 * - 데이터형은 CTS에서 정의된 객체 *CTS : 닷넷 호환언어가 지켜야할 타입의 표준규격을 말한다. * 문자열형(string)이 배열이나 포인터로 되어 있지 않다. * - C/C++에서는 문자열 끝에 0,'\0'(NULL)을 작성 해주었다. - ' + ' : 문자열 연결, ' == ' : 문자열 비교, '[인덱스]' : 문자 (예) string str2 = "Hello_" + "word"; //[출력 ] Hello_word - 문자열에 ' \ '이 포함하는 경우,(예) @"C:\temp\test.txt" -> "C:\temp\tes.. 2019. 2. 14.
C#_연산자 //산술 연산자// 연산에 이용하는 +나 - 등을 연산자라고 한다. 연산자 기능 사용법 의미 + 덧셈 a= b+c b와 c를 더한 값을 a에 대입한다. - 뺄셈 a = b-c b와 c를 뺀 값을 a에 대입 *( 곱하기 a = b*c b와 c를 곱한 값을 a에 대입 / 나누기 a = b/c b를 c로 나눈 값을 a에 대입 % 나머지 a = b%c b를 c로 난눈 나머지를 a에 대입 = 대입 a = b b의 값을 a에 대입 //대입 연산자// 변수에 수치를 대입하는 ' = '연산자 ->좌변(변수), 우변(값)으로 간주한다. 연산자 기능 사용법 의미 += 더해서 대입 a += b a+b의 결과를 a에 대입 -= 배서 대입 a -= b a-b의 결과를 a에 대입 *= 곱해서 대입 a *= b a*b의 결과를 a.. 2019. 2. 14.
C#_프로그래밍의 기본 구조 //솔루션과 프로젝트 생성// 프로젝트 ->C#에서 필요로 하는 여러 팡리에 대한 정보 및 컴파일 옵션 정보를 포함하고 있는 것을 프로젝트라고 한다. 솔루션 -> 다수의 프로젝트를 하나의 솔루션 안에서 다룰수 있다. *단일 프로젝트 생성 파일 ->새로 만들기 ->프로젝트 생성 //빈 솔루션에서 프로젝트를 추가하여 새 프로젝트를 추가하면서 작성 할 수 있다. 해당 프로젝트를 컴파일 할 수있다.> //프로그램의 시작// (예) using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApp2 { class Program { sta.. 2019. 2. 14.
C#_닷프레임네트워크와 C#언어 // C#언어의 개요// C++언어 기반 + java의 장점을 더한것 = C# 언어 ->C언어가 되어있어야 한다. C#은 포인터를 사용하지 않는다. ->메모리 관리자(안전하지 않다고 생각되서 , 존재하긴 하지만 거의 사용하지 않는다.)_delete/free()를 사용해서 메모리는 삭제(해제) 해주는 소멸자가 존재 헀으나 C#부터는 소멸자가 없어졌다. 이런 사용하지 않는 메모리를 처리하도록 가비지 컬렉터라는 것이 생겼다. new로 생성에만 신경을 써도 상관 없게 되었다. - 속도 향상 - 포인터 걱정x - 많은 라이브러리 //Net Framework// 운영체제(OS)와 닷넷 프레임워크가 하나가 되었다.(예전에는 넣고 뺴고가 가능 했지만 현재는 하나의 운영체제가 되어있다.) 운영체제에 하드웨어가 탑제 되면.. 2019. 2. 14.
C#_기본적인 프로그램 //C# 프로그래밍 언어// C#은 마이크로소프트에서 개발된 객체 지향 프로그래밍 언어로 "Java"나 "C++"와 비슷한 면들을 많이 가지고 있다. - C#는 .NET Framework를 이용하여 프로그래밍하는 대표적인 언어 - .NET Framework 상에서 동작하는 애플리케이션을 작성하기 위한 용어의 대표적인 언어 //닷넷 프레임워크라는 실행 환경과 조화되어 움직인다. - 윈도우 프로그래밍, 웹프로그래밍, 게임 및 모바일 프로그래밍 등 모든 영역에서 사용되는 범용 프로그래밍 언어 *.NET Framework(닷넷 프레임워크) : .NET의 개념에서 애플리케이션을 개발 및 실행 하기 위해 준비된 플랫폼이다.* //C#의 특징// - 객체지향 프로그래밍의 기능을 그룹화 하고 , 조합하여 프로그램을 작.. 2019. 2. 13.
C#_1강 콘솔 어플리케이션_ 특정 유저 인터페이스가 없다 ->기본 코딩할 때는 콘솔 어플리케이션으로 실행할 것 윈도 폼 어플리케이션 - 유저들이 사용하는 인터페이스를 만드려고 주로 사용하는 작업창 hollow C#- cs파일이 C#파일을 의미한다. main함수가 시작되면서 어플리케이션이 시작된다 using 키워드 : 우리가 사용하고 싶은 툴들을 사용하기 위해서 지정해 주는 것이다. 커다란 시스템의 보따리 같은 것. "system.collection.generic"->시스템안에 있는 툴을 사용하겠다는 의미를 가진다. namespace 키워드는 보따리를 만드는 것을 의미한다. main함수는 모든 프로그램이 시작할때 , 콘솔어플리케이션이 사작할 때, 항상 가장 먼저 실행되는 함수이다. 하나 밖에 존재하지 않는다. ma.. 2019. 2. 13.
728x90
반응형