개발 TIL

내일배움캠프 12일차 TIL 프로젝트 진행 중 알게된것

yun-wj1126 2025. 2. 7. 21:37

C# 사용중 Action과 Func을 쓸때에 언제쓰는지 사실 콜백? 이런 느낌으로만 알고 있었다. 그러나 사실 아직 이해가 부족했는데 튜텨님에게 질문을 드려봤다.

언제 사용하는게 좋은지 질문을 했는데 예를들어 레벨업을 할때 레벨업버튼을 누르면 레벨업 팝업창이 뜨면서 예 아니오가 뜰텐데 예를 누르면 레벨업에 해당하는 메서드가 실행한다거나

또는 종료창을 누르면 팝업창에 예 아니오가 뜨면서 예를 누르면 종료된다거나 이렇게 한가지 예 아니오 팝업창에서 여러가지 상황에 맞는 동작을 실행하고 싶을때 사용한다고 하셨다.

그러므로 변수를 선언해서 변수를 필요한 상황에 맞춰 쓰듯이 메서드를 선언해 놓고 필요에 따라 메서드를 불러올 때 사용한다고 생각하면 편할 거 같다.

 

3항 연산자 사용중 3항 연산자 안에 if문을 넣었을시에 작동을 하지 않았다. 그리고 break를 넣어봤는데 오류가 났다.

왜그런지 몰라서 찾아도 보고 튜터님에게 질문도 해봤는데 3항연산자는 값을 참일때와 아닐때 반환을 해야하기 때문에 break나 if문 이런 값이 없으면 작동을 못하는 것이였다. 그리고 3항 연산자를 쓸때에는 간단한 if문 대신 사용할때 아니면 간략하게 표현할때 그럴때 사용을 하는 것이였고 조건은 짧은데 안에 연산이 길경우에는 가독성이 떨어지기 때문에 if문을 쓰는게 더 좋다.

 

C#의 Action을 쓰기 위해 튜터님에게 질문을 했는데 튜터님은 이 상황에서 쓰는건 별로이고 현재 하고있는 방법대로 하면될 것 같다고 하셨다 그리고 설명을 해주셨는데 위와같이 설명을 해주셨고 각각 기능들은 상황에 맞게 쓰도록 만들어졌고 예시로 롤에 애쉬가 정글을 돌면 ?핑이 엄청 찍히고 정치를 당하듯이 각자 맞는 위치에서 기능 사용을 해야 효율적이고 알맞다고 했다. 

 

list가 class안에서 선언이 됐을때 해당 클래스가 여러번 선언이 된다면 그 안에 리스트는 공유가 되는지 궁금했다. 

그래서 이번건 chatGPT선생에게 물어봤는데 여러개의 선언을 하면 그 선언들은 서로 다른 객체이기 때문에 각각 독립적인 리스트를 가진다. 그래서 리스트를 공유하고 싶다면 static을 사용하여 리스트를 모든 객체에서 공유가능하게 사용해야 한다.

 

 

//코딩테스트연습

 

대문자를 소문자로 소문자를 대문자로 바꾸는 코드이다.

IsUpper 사용하여 대문자인지 소문자인지 판별할 있다

 

 

문자열을 문자로 출력하는 예제이다.

Abcde 입력하면

A

b

c

d

e

출력된다.

ToCharArray() 사용하여 문자열을 문자의 배열에다 저장했다.

 

 

 

Insert Remove  통해서 원하는 문자열의 인덱스의 길이만큼을 지우고 문자열을 삽입했다.

Substring 혼동이 왔지만 substring 중간에 삽입이 불가능해서 insert remove 사용했다.