본문 바로가기

C#

(5)

C#의 자동 구현 프로퍼티 (Auto-Implemented Properties, 자동 구현 속성) C#에는 프로퍼티라는 개념이 있습니다. 프로퍼티는 객체지향 패러다임의 정보은닉을 좀 더 간결하고 간단하게 구현 할 수 있도록 해줍니다. class MyClass { private string name; public string GetName(){ return name; } public void SetName(string name){ this.name = name; } } 위 와 같은 코드를 class MyClass { private string name; public string Name { get { return name; } set { name = value; } } } 이렇게 간단하게 구현할 수 있습니다. 자동 구현 프로퍼티를 사용하면 이를 더 간단하게 구현 할 수 있습니다. class MyClas..
[C#] 자꾸 까먹는 C# 디렉토리 구분자 가져오기 Path.DirectorySeparatorChar 현재 OS환경에서 사용하는 디렉토리 구분자( '\' or '/' )를 반환한다.
C# params, ref와 in, out 매개 변수 한정자 이 글은 C#에서 메서드 매개 변수를 선언할 때 사용할 수 있는 키워드들을 정리합니다. params 는 이 매개 변수가 가변 개수의 인수를 사용할 수 있음을 지정합니다. in 은 이 매개 변수를 참조로 전달할 수 있지만 호출된 메서드로만 읽을 수 있음을 지정합니다. ref 는 이 매개 변수를 참조로 전달할 수 있고 호출된 메서드로 읽거나 쓸 수 있음을 지정합니다. out 은 이 매개 변수가 참조로 전달되고 호출된 메서드에 의해 기록되도록 지정합니다. params와 in, ref, out은 성질이 다르므로 두 분류로 나눠서 정리하겠습니다. 1.params params 키워드를 사용하면 가변 개수의 인수를 사용하는 메서드 매개 변수를 지정할 수 있습니다. 메서드를 호출 할 때 지정된 형식의 인수 배열이나 지..
Unity 현재 Scene 정보 가져오기 SceneManager.GetActiveScene(); // Scene 객체 가져오기 SceneManager.GetActiveScene().name; // 현제 Scene의 이름 SceneManager.GetActiveScene().buildIndex; // 현제 Scene의 인덱스넘버 Scene의 Index는 Build Settings에서 확인 할 수 있다. 참고로 다음 2개의 프로퍼티는 지금은 사용하지 않는다. Application.loadedLevel -현재 씬 인덱스 (int) Application.loadedLevelName - 현재 씬 이름 (string) 사용하면 다음과 같이 SceneManager를 사용하라고 나온다.
[코딩인터뷰 완전정복] 1.1 중복이 없는가 문자열이 주어졌을 때, 이 문자열에 같은 문자가 중복되어 등장하는지 확인하는 알고리즘을 작성하라. 해법1 - 문자열의 처음부터 한 문자씩 순회하며 자료구조(스텍, 큐 등)에 입력된 문자열을 저장한뒤 새로운 문자를 확인 할 때마다 자료구조를 순회하며 중복되는 문자가 있는지 확인한다. public bool IsDuplicate(char[] str){ var inputStack = new Stack(); foreach(var ch : str){ foreach(var stackChar : inputStack){ if(ch==stackChar) return true; } inputStack.add(ch); } return false; } 해법2 - 입력문자의 갯수만큼의 크기를 가진 char 배열을 생성한다. 하나..