Program Language/C#51 Part1. C# 첫발 내딛기(27. 값 형식과 참조 형식) C#자료형은 값 형식과 참조 형식으로 나뉩니다. 이 둘의 차이는 데이터를 스택에 저장하느냐 아니면 힙에 저장하느냐에 따라 나뉩니다. 이번 포스팅에서는 각각의 자료형에 대한 특징과 사용법에 대해서 정리했습니다. 값 형식 값 형식은 변수가 실제 데이터 값을 저장하는 형식입니다. 값 형식을 갖는 자료형에는 c#의 기본 자료형과 열거형, 구조체가 있습니다. 이들 자료형들에 대한 데이터는 기본적으로 스택에 저장합니다. 다음은 값 형식에 대한 자료형들을 보여줍니다. C# 값 형식 기본 C#형식(int, double, char, bool, float 등), struct, enum 값 형식을 함수의 인자로 전달할 때 내부에서 변수값을 변경해도 원본의 변수값은 변하지 않습니다. 이러한 특징은 다음 예제롤 통해 확인할 수.. 2023. 1. 22. Part1. C# 첫발 내딛기(26. const 와 readonly) 이번 포스팅에서는 상수를 표현하는 const와 이와 유사한 readonly에 대해서 정리했습니다. const const로 선언된 변수는 추후에라도 값을 변경할 수 없습니다. 만약 바꾸려고 한다면 컴파일 에러가 발생합니다. 나중에 값을 변경하지 못하기 때문에 선언과 동시에 원하는 값으로 할당을 해야 합니다. 따라서 컴파일 타임에 값이 결정됩니다. const double kilometerTomile = 0.621371; 이렇게 선언된 kilometerTomile 변수는 나중에 값을 변경할 수 없습니다. 외부에서의 접근은 "클래스명.변수명"으로 접근해야 합니다. readonly C#에는 const와 유사한 readonly라는 키워드가 있습니다. const와 다른 점은 객체 생성 시 값이 초기화가 된다는 점입니.. 2023. 1. 20. Part1. C# 첫발 내딛기(25. String과 StringBuilder의 차이) C#에서 String을 이용하여 문자열 합성을 하다 보면 간혹 느려질 때가 있습니다. 이유는 '+' 연산 때문입니다. 이 연산자를 사용하면 사용할수록 문자열을 더할 때마다 새로운 메모리 생성과 복사가 일어나기 때문입니다. 이번 장에서는 string의 이러한 단점을 해결해 주는 StringBuilder에 대해서 정리해 보았습니다. String의 문자열 합성 속도 String 변수에 100만 개의 문자열을 더하는 연산(+)을 한다고 가정해 봅시다. 그러면 String은 100만 개의 문자열을 저장하는 메모리를 할당하고 더할 때마다 생성되는 99만 9999개의 문자열을 저장하는 메모리리를 생성합니다. 그리고 매번 복사가 일어납니다. c#에서는 가비지 콜렉터라는 기능이 있어 이런 메모리는 자동으로 처리해 주지만.. 2023. 1. 20. Part1. C# 첫발 내딛기(24. String.Format()) 이번 포스팅에서는 String.Format() 메서드를 사용하는 방법을 간단한 예제로 정리했습니다. String.Format() 메서드 String.Format 메서드는 포맷 아이템(객체, 변수, 수식)들을 문자열로 변환해 다른 문자열에 삽입할 수 있게 해 줍니다. 포맷 아이템은 {0}, {1}, {2},... 와 같이 중괄호 안에 인덱스를 부여하여 표현할 수 있습니다. 포맷 문자열 뒤에는 파라미터 순서는 포맷 아이템 인덱스 번호와 동일합니다. 날짜와 시간형식 사용하기 포맷 아이템의 인덱스 뒤에는 {0:N}과 같이 콜론과 함께 형식 지정자가 나올 수 있습니다. 형식지정자를 d로 지정하면 날짜를 표현하고, t로 지정하면 시간을 표시합니다. 날짜 및 시간 형식은 국가마다 표현방식이 다르므로 PC에 설정된 국.. 2023. 1. 18. Part1. C# 첫발 내딛기(23. 문자열 검색) C# String 클래스에는 문자열 검색과 관련된 여러 메서드들이 있습니다. 특정 문자 및 문자열의 위치를 찾거나 문자열 안에 포함되어 있는지 여부등을 알 수 있습니다. 이번 포스팅에서는 이와 관련된 내용들을 정리하였습니다. Contains() 메서드 Contains() 메서드는 문자열 내에 찾고자 하는 문자/문자열(대소문자 구분)이 포함되어 있는지 여부를 boolean 값으로 반환합니다. 포함되어 있으면 true를 리턴하고, 아니면 false를 리턴합니다. 다음은 문자열 안에서 "rabbit" 문자열이 포함되어 있는지 확인하는 예제입니다. using System; using System.Collections.Generic; using System.Collections.Specialized; using .. 2023. 1. 18. Part1. C# 첫발 내딛기(22. 문자열 연결) C#에서 문자열을 연결하는 방법에는 4가지가 있습니다. 이번 포스팅은 이 방법들에 대해서 정리했습니다. 첫 번째 방법 : '+' 연산자 사용 가장 직관적인 방법입니다. '+"연산자를 사용하여 문자열 및 문자열 변수를 이어줍니다. 다음 예제를 통해 사용법을 확인할 수 있습니다. using System; using System.Collections.Generic; using System.Collections.Specialized; using System.Linq; using System.Text; using System.Threading.Tasks; namespace StringConcat { internal class Program { static void Main(string[] args) { strin.. 2023. 1. 15. 이전 1 2 3 4 5 6 7 8 9 다음