본문 바로가기
Programming/C#

c#_3

by 공부합시다홍아 2020. 6. 4.

1. 지불 금액에 대한 100원 , 50원 ,10원 동전 개수 

2. 문자열안에서 찾기

대부분의 문자열 가공 메소드는 문자열 내의 "어느 부분"을 가공할 것인지를 입력

친절하게도 string 형식은 바로 이 "어느 부분"을 찾아주는 기능을 다양하게 제공한다.

- IndexOf() : 현재 문자열 내에서 찾고자 하는 지정된 문자 또는 문자열의 위치를 찾는다.   
LastIndexOf() : 현재 문자열 내에서 찾고자 하는 지정된 문자 또는 문자열의 위치를 뒤에서부터 찾습니다.
StartsWith() : 현재 문자열이 지정된 문자열로 시작하는 지를 평가합니다.
EndsWith() : 현재 문자열이 지정된 문자열로 끝나는 지를 평가합니다.
Contains() : 현재 문자열이 지정된 문자열을 포함하는지를 평가합니다.
Replace() : 현재 문자열에서 지정된 문자열이 다른 지정된 문자열로 묻 바뀐 새 문자열을 반환한다.

3. 문자열 변형하기

string 형식은 문자열 중간에 또 다른 문자열을 삽입하거나 특정 부분을 삭제하는 등의 작업을 수행하는 메소드도 제공

대문자/소문자로의 변환 메소드와 문자열 앞/뒤에 있는 공백을 제거하는 메소드도 제공하는데요.

공백 제거 메소드는 생각보다 자주 사용한다.

ToLower() : 현재 문자열의 모든 대문자를 소문자로 바꾼 새 문자열을 반환합니다.
ToUpper() : 현재 문자열의 모든 소문자를 대문자로 바꾼 새 문자열을 반환합니다.
Insert() : 현재 문자열의 지정된 위치에 지정된 문자열이 삽입된 새 문자열을 반환합니다.
- Remove() : 현재 문자열의 지정된 위치로 부터 지정된 수만큼의 문자가 삭제된 새 문자열을 반환
Trim() : 현재 문자열의 앞/뒤에 있는 공백을 삭제한 새 문자열을 반환합니다.
TrimStart() : 현재 문자열의 앞에 있는 공백을 삭제한 새 문자열을 반환합니다.
TrimEnd() : 현재 문자열의 뒤에 있는 공백을 삭제한 새 문자열을 반환합니다.

4. 문자열 분할하기 

string 형식은 콤마(,)로 구분되어 있는 문자열에 단번에 콤마를 제외한 내용을 배열로 만들 수 있다.

이것을 가능하게 하는 것은 Split() 메소드이다. 그런데 문자열 데이터가 항상 일정한 간격 또는 문자로 구분된 좋은 모습을 하고 있지 않습니다. 그럴 때 문자열 탐색을 이용해 잘라낼 부분을 찾은 뒤, Substring() 메소드를 이용해서 하나씩 잘라내면 된다.

Split() : 현재 문자열을 지정된 문자를 기준으로 분리한 문자열의 배열을 반환합니다.
SubString() : 현재 문자열의 지정된 위치로 부터 지정된 수만큼의 문자로 이루어진 새 문자열을 반환합니다.

5. 숫자 서식화

수 하나도 표현하는 방식은 매우 다양합니다. 12345679를 123,456,789로 0x75BCD15로도 나타낼 수 있습니다.

string.Format() 메소드는 이렇듯 다양한 형태로 수를 서식화하는 기능을 지원한다. 

- D : 입력한 수를 10진수로 서식화합니다.

- X : 입력한 수를 16진수로 서식화합니다.

- N : 입력한 수를 콤마로 구분하여 출력합니다.

- F : 입력된 수를 고정소수점 형식으로 서식화합니다.

- E : 입력된 수를 지수 표기로 서식화합니다.

6. 날짜 및 시간 서식화

7. 문자열 보간

Format() 메소드와 더불어 서식화된 문자열을 편리하게 다룰 수 있는 또 다른 방법으로는 문자열 보관이 있습니다.

보간이라는 낱말은 비거나 누락된 부분을 채운다는 뜻이다. 문자열 보간이 string.Format() 메소드와 다른 점은 문자열 틀 앞에 $ 기호를 붙이는 것과 서식 항목에 첨자 대신 식이 들어간다는 것이다.

8. 산술 연산자

산술 연산자[Arithmetic Operators]는 수치 형식의 데이터를 다루는 연산자이다. 수치간의 덧셈, 뺄셈, 곱셈, 나눗셈 그리고 여기에 한 가지 더해 눗셈의 나머지를 구하는 기능을 한다.

산수 연산자는 이름이 나타내는 것처럼 수치 형식에 대해서만 사용이 가능합니다. 다시 말해 정수 형식과 부동 소수점 형식, decimal 형식에 대해서만 사용이 가능하다는 뜻이다.

산술연산자는 두 개의 피연산자를 필요로 합니다. 연산자가 가운데에 오고, 피연산자가 연산자 양 옆에 위치하는 꼴이다. 이렇게 두 개의 피연산자가 필요한 연산자를 이항 연산자[Binary Operator]라고 부릅니다.

9. 증가 연산자와 감소 연산자

증가연산자[Increment Operator] : 피연산자의 값을 1증가, 기호 ++

감소연산자[Decrement Operator] : 피연산자의 값을 1감소, 기호 --

증가연산자와 감소연산자는 피연산자를 하나만 받는 단항 연산자[Unary Operator]입니다.

위 코드를 설명하자면 int a의 값을 15로 입력받습니다. 다음 출력 시 '--'가 'a'의 앞에 붙어있는 것을 확인할 수 있습니다. 이것은 출력할 때 먼저 감소하고 출력이 된다는 뜻입니다. 그래서 출력값은 14가 됩니다. 

반대로 a++은 위에 출력된 14에서 먼저 출력을 하고 다음 문으로 넘어갈 때 증가되는 수입니다. 그래서 출력 때는 14가 출력되지만, 다음 코드에서는 15로서 동작합니다.

 

10. 문자열 결합 연산자

11. 널(NULL) 조건부 연산자

?. 가 하는 일은 객체의 멤버에 접근하기 전에 해당 객체가 NULL인지를 검사하여 그 결과가 참이면 그 결과로 NULL을 반환하고, 그렇지 않은 경우에는 . 뒤에 지정된 멤버를 반환한다.

12. 비트 연산자

컴퓨터는 원래 0과 1의 비트 데이터만 다루는 기계이다. 

하지만 우리가 지금까지 사용해왔던 데이터 형식을 보면 1바이트의 크기가 가장 작다. 비트를 무려 8개나 담을 수 있는 크기의 데이터형식이다. 

바이트 단위가 대부분의 데이터를 다루기에 용이한 크기이지만 비트 수준에서 데이터를 가공해야 하는 경우가 종종 생깁니다. 비트 연산자는 이를 위한 연산자이다.

- << , >> , & , |, ^, ~ 

13. NULL 병합 연산자

NULL 병합 연산자 ??는 NULL 조건부 연산자처럼 프로그램에서 종종 필요한 변수/객체의 NULL검사를 간결하게 만들어주는 역할을 합니다. 

?? 연산자는 두 개의 피 연산자를 받아들이고 왼쪽 피연산자가 NULL인지를 평가합니다.

평가 결과가 NULL이 아닌 것으로 나타나면 왼쪽 피연자를 그대로 반환하고, 만약 왼쪽 피연산자가 NULL인 것으로 평가되면 오른쪽 피연산자를 반환합니다. 

NULLABLE 형식을 선언할 때도 ?가 사용되고, NULL조건부 연산자 ?. 와 ?[]도 ?로 시작한다. 

728x90

'Programming > C#' 카테고리의 다른 글

c# 연습 2  (0) 2020.06.04
C#_4  (0) 2020.06.04
c# 간단 연습 7개  (0) 2020.06.03
c#_2  (0) 2020.06.03
c# : 100이하 정수 중 3과7의 배수 동시 출력, 마름모  (0) 2020.05.29