본문 바로가기

Programming/C#22

c#_8 : 배열과 컬렉션 그리고 인덱서 프로그램을 작성하다 보면 같은 성격을 띤 다수의 데이터를 한 번에 다뤄야하는 경우가 자주 생긴다. 데이터를 다루기 위해서는 데이터를 담는 변수가 필요합니다. 배열 배열의 각 요소에 데이터를 저장하거나, 요소 안에 있는 데이터를 읽어올 때에는 배열 이름 뒤에 괄호 [ ] 를 붙여주고, 괄호 사이에 인덱스(Index)를 적어주면 된다. - 여기서 주의 할 점은 바로 인덱스 1이 아닌 0부터 시작한다는 것이다. 배열은 for문이나 foreach문을 이용해서 변수를 이용하는 경우에 비해 코드를 훨씬 간결하게 만들 수 있습니다. - 프로그램에 변경 사항이 생겼을 때 배열을 이용한 쪽이 코드 관리가 훨씬 용이함 배열을 초기화하는 세 가지 방법 첫 번째 방법 : 배열의 원소 개수를 명시하고, 그 뒤에 괄호 { }로 .. 2020. 6. 10.
c# _7 : 프로퍼티 프로퍼티 프로퍼티 선언 방법 class 클래스명 { 데이터 형식 필드 이름; 접근한정자 데이터형식 프로퍼티이름 { get { return 필드이름; } set { 필드이름 = value; } } } - get{} 과 set{]을 일컬어 접근자(accessor)라고 한다. - get접근자는 필드로부터 값을 읽어오고 set접근자는 필드에 값을 할당합니다. - set접근자는 필드에 값을 할당합니다. 자동 구현 프로퍼티 - 프로퍼티는 데이터의 오염에 대해선 메소드처럼 안전하고, 데이터를 다룰 떄는 필드처럼 간결하다. - 많은 경우에 중복된 코드를 작성하고 있다는 기분이 들게합니다. - 이런 걸 방지하기 위해서 자동 구현 프로퍼티를 작성합니다. - 자동 구현 프로퍼티는 필드를 선언할 필요도 없고, 그저 get과s.. 2020. 6. 10.
C# _6 구조체 [ Structure ] 클래스는 참조 형식이고, 구조체는 값 형식입니다. - 구조체의 인스턴스는 스택에 할당되고 인스턴스가 선언된 블록이 끝나는 지점의 메모리에서 사라집니다. - 인스턴스의 사용이 끝나면 즉시 메모리에서 제거된다는 점과 가비지 콜렉터를 덜 귀찮게 한다는 점에서 구조체는 클 래스에 비해 성능의 이점을 가진다. - 구조체는 값 형식이기 때문에 할당 연산자 = 를 통해 모든 필드가 그대로 복사됩니다. - 구조체는 생성자를 호출할 때가 아니면 굳이 new연산자를 사용하지 않아도 인스턴스를 만들 수 있습니다. - 구조체는 매개변수가 없는 생성자는 선언할 수 없다. - 구조체의 각 필드는 CLR이 기본값으로 초기해주기 때문에 매개변수가 없는 생성자를 선언하지 못하는 문제는 걱정하 지 않아도.. 2020. 6. 9.
C# _ 5 return : 점프문의 한 종류 : 프로그램의 흐름을 갑자기 호출자에게로 돌려놓는다. : 언제든지 메소드 중간에 호출되어 메소드를 종결시키고 프로그램의 흐름을 호출자에게 돌려 준다. ※재귀 호출 : 메소드가 자기 자신을 스스로 호출하는 것을 일컬어 재귀 호출(Recursive Call)이라 한다. 메소드 오버로딩 [ Method Overloading ] : 오버로딩이란 '과적'하다라는 뜻을 가지고 있다. : 메소드 오버로딩은 하나의 메소드 이름에 여러 개의 구현을 올리는 것을 뜻한다. 가변길이 매개 변수 프로그래밍을 하다 보면 똑같은 그저 매개 변수의 "수"가 다르다는 이유만으로 똑같은 메소드를 여러 가지 버전으로 오버로딩하고 싶을 때가 있다. 이런 경우를 대비해 C#은 "가변길이 매개변수"라는 기능을.. 2020. 6. 8.
c# 연습3 사칙연산 중에 곱하기, 나누기 구하기 곱하기는 Multiple(int, int) 이용, 나누기는 Divide(int, int) 이용 1. 첫 번째 입력할 수를 구하기위해 string을 선언 이후 console.readline과 convert.int32()를 통해 읽고, 문자열을 정수형으로 변환할 수 있게 지정 2. 각 각의 Multiple과 Divide의 메소드 작성 후 내부에 계산식을 넣어줍니다. ( 나눗셈은 소수점까지 계산하므로 double을 사용합니다. ) 3. 그리고 나서 메인에 각 메소드에 해당하는 값들을 불러오는 값을 선언해줍니다. A ~ Z 까지 알파벳과 1~100까지 숫자를 표현하는 알고리즘 알파벳은 Alpha() 이용, 숫자는 PrintNum() 이용 1. Alpha 메소드에 for문과 .. 2020. 6. 5.
c# 연습 2 1. 1~100사이의 정수 중에서 홀수와 짝수의 합 구하기 2. 거스름돈 구하기 [ 100원 , 50원, 10원 각각의 개수를 거스름돈에 맞게 개수를 출력합니다. ] 3. 변수 교환하는 프로그램 [ 각 각 입력한 두 값의 자리와 위치를 조정합니다. ] 2020. 6. 4.
C#_4 1. Do ~ While 문 do ~ while 문은 while 문과 유사한 반복문이지만, while문이 조건식을 평가한 후에 그 결과가 참이면 코드를 실행하는데 반해, do ~ while문은 조건식을 평가하기 전에 무조건 처음 한 번은 코드를 실행한다는 점이 다른다. do { 반복 실행할 코드 블록; } while(조건식); 2. for문 for는 영어로 ~를 위하여 라는 뜻부터 시작하여 굉장히 많은 뜻을 갖고 있는 단어입니다. 하지만 c#과 다른 프로그래밍 언어에서 for는 ~하는 동안이라는 뜻입니다. while문보다 반복을 더 정교하게 제어가능합니다. for ( 초기화식; 조건식; 반복식;) { 반복 실행할 코드 } - 초기화식 : 반복을 실행하기 전에 가장 먼저, 딱 한 번만 실행되는 코드입니다... 2020. 6. 4.
c#_3 1. 지불 금액에 대한 100원 , 50원 ,10원 동전 개수 2. 문자열안에서 찾기 대부분의 문자열 가공 메소드는 문자열 내의 "어느 부분"을 가공할 것인지를 입력 친절하게도 string 형식은 바로 이 "어느 부분"을 찾아주는 기능을 다양하게 제공한다. - IndexOf() : 현재 문자열 내에서 찾고자 하는 지정된 문자 또는 문자열의 위치를 찾는다. - LastIndexOf() : 현재 문자열 내에서 찾고자 하는 지정된 문자 또는 문자열의 위치를 뒤에서부터 찾습니다. - StartsWith() : 현재 문자열이 지정된 문자열로 시작하는 지를 평가합니다. - EndsWith() : 현재 문자열이 지정된 문자열로 끝나는 지를 평가합니다. - Contains() : 현재 문자열이 지정된 문자열을 포함하는.. 2020. 6. 4.
c# 간단 연습 7개 1. 1~100까지의 합 구하기 [ for문 활용 ] 2. 구구단 출력하기 3. 정수 입력 후 3의 배수를 출력하기 4. 두 정수 값 비교하기 5. 성적에 따른 분류 프로그램 작성하기 6. 두 정수 값을 비교한 이후 작은 값이 큰 수의 약수인지 확인하기 7. 세 가지 정수 비교한 이후 큰 값 순서대로 나타내는 프로그램 2020. 6. 3.
c#_2 코드 : 하나의 정수를 입력 받고 그 정수에 100을 더해서 출력한다. : 명령문은 1. 변수선언, 2. 로직, 3.출력 순으로 구성되어 있다. : Console.ReadLine() 은 데이터 값을 입력하기 위해 선언한다. 연습 ) 나이구하는 프로그램 문자형 문자에서는 ‘a’ 혹은 ‘ㄱ’을 그대로 선언되지만, 문자열에서는 “가”뒤에 \0이 포함되어 있다. 문자를 선언할 때 보통 ‘char’를 사용, 문자열을 사용할 시 string을 사용한다. 문자열은 값이 텍스트인 String 형식의 개체입니다. 내부적으로 텍스트는 Char 개체의 순차적 읽기 전용 컬렉션으로 저장됩니다. C# 문자열의 끝에 null 종료 문자가 없으므로 C# 문자열에는 포함된 null 문자('\0')를 여러 개 사용할 수 있습니다. 문.. 2020. 6. 3.
반응형