일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- C#문법
- 유니티서바이벌게임만들기
- c#코테
- unity3d게임만들기
- Console.WriteLine
- c# 백준
- 유니티상호작용
- Unity
- unity공부
- unity게임만들기
- 티스토리챌린지
- 오블완
- c#기본문법
- 시샵문법
- 스파르타코딩클럽
- 유니티
- c#문제
- c# c#프로그래머스
- 시샵
- 스파르타
- 유니티3dui
- c#기초문법
- 유니티공부
- unity3dservival
- 유니티게임만들기
- unity게임
- c#코딩기초트레이닝
- c#프로그래머스기초문법
- unity3d
- c#
- Today
- Total
나 개발자 진짜 되냐?
[ C# 기본 문법 26 ] StringBuilder 너.. 좋은 친구구나? 본문
오늘은!
코테하며 알게 된 친구에 대해 이야기해볼 예정이다.
StringBuilder
이다.
이 친구는 누구냐!
문자열 string은 원래
변경이 불가능 한 친구이다.
그래서 변경을 해주려면 또 string로
받아야하고 받아야 하고 받아야 하고
받아야 하고 받아야하고 받아야하고
받아야하고 받아야하고 받아야하고
터질 거 같은 메모리 할당으로 문제가 생길 수 있어서
문자열을 반복적으로 수정하거나
뭐 자르고 변형할 수 있는
도구
바로 스트링빌더이다.
스트링빌더는 class라서
1. using문을 써줘야 한다.
맨 위에
using System.Text;
추가
2. new로 선언해주어야 한다.
StringBuilder myStringBuilder = new StringBuilder();
이렇게 해주면 되는데
약간 배열이랑 비슷하게 사용되는 거 같다.
사용할 수 있는 메서드는
. Append
문자열 끝에 정보 추가
문자열. Append("ㅇㅅㅇ")
해주어서
""값이 문자열 맨 뒤에 추가가 된다.
그 이외에도 사용법이 괴이이이이이이잉장히 많다.
. AppendFormat
문자열에 전달된 서식 지정자를 서식 있는 택스트로 바꾼다.
문자열. AppendFormat("ㅇㅅㅇ")
그냥 간단하게
format을 쓰면
문자열이 계속 붙어지긴 하는데
복합 형식으로
뭐 스트링도 인트도 뭐 한꺼번에 다
스트링으로 바꿔줘서 저장된다고 보면 된다.
그냥 append의 업그레이드버전이라고 생각하자!
. Insert
지정된 인덱스에 문자열 또는 개체 삽입
문자열. Insert(8, "ㅇㅅㅇ")
삽입은 중간에 끼워 넣어야 하기 때문에,
몇 번째 위치에 넣어줄지 꼭! 적어주어야 한다
index값이 들어가야 한다는 것!
. Remove
지정된 수의 문자 제거
삽입이랑 비슷한데 약간 다르다.
문자열. Remove(2,8)
이 친구는 앞에 2가 2번째부터
8개 잘라버리겠다!
라는 의미이다.
. Replace
지정된 문자 또는 문자열을 다른 문자열로 모두 바꿔준다.
이 친구는 특징이
인덱스를 넣을 순 없다.
즉 몇 번째의 값을 치환해 줄 수 없다.
이런 문자열을 저런 문자열로 바꿔주겠다만 된다.
문자열. Replace("ㅇㅡㅇ", "ㅇㅅㅇ")
이렇게 해주면
ㅇ 쯩을
ㅇㅅㅇ으로 바꿔준다는 의미가 된다.
한 글자도 가능하다
문자열. Replace("ㅡ", "ㅇㅅㅇ")
아!!
잊지 말아야 할 것
아까 배열이랑 비슷하다고 했다
기억날지 모르겠지만...ㅎ
그래서 이렇게 자르고 추가하고 삭제하고
이런 친구들은 다 한 string에 있는 것이 아니다.
그렇기 때문에
마지막에
myStringBuilder.ToString()
을 해주어서
무조건! 모든 문자열을 string으로 바꾸어 주어야
비로소 다 합쳐진 하나의 string가 된다!
나도
끝!
'C# 을 맛보았어요! > 문법정리를 해보았어요!' 카테고리의 다른 글
인터페이스란? (0) | 2024.10.28 |
---|---|
객체, 클래스, 인스턴스 차이는? (0) | 2024.10.15 |
[ C# 기본 문법 25 ] init 이란? (1) | 2024.10.07 |
[ C# 기본 문법 24 ] 직렬화 Serialization & 역직렬화 Deserialization (4) | 2024.10.02 |
[ C# 기본 문법 23 ] Nullable 과 StringBuilder (0) | 2024.09.24 |