레이블이 C#인 게시물을 표시합니다. 모든 게시물 표시
레이블이 C#인 게시물을 표시합니다. 모든 게시물 표시

2018-10-26

Unity - 스크립트에서 한글 입력시 깨짐 현상

* C# 스크립트에서 텍스트를 대입하면 실행시 깨져서 나오는 경우가 있습니다.

예) _uiTitleText.text = "한글입력확인";

* 아무리 봐도 로직상에 문제가 없다면 스크립트 파일 형식이 UTF-8 형식으로 바꾸어 줘야합니다.

* VS나 기타 에디터로 스크립트를 UTF-8 형식으로 바꾸고 다시 저장하면 해결이 됩니다.

* Git이나 다른 소스 관리 툴이 파일 형식을 자동으로 바꿀수 있으니 그 부분도 확인해야 합니다.

2018-04-30

C# - 변수명을 문자열로 얻어오기

* C# 6.0 이상에서는 변수명을 문자열로 얻어오기 위하여 nameof() 키워드가 존재한다.
* 이전 버전에서는 아래와 같이 별도의 함수를 만들어 사용한다.
* 각 프로젝트의 유틸리티 클래스에 static 형태로 정의하는 것이 사용에 용이할 것으로 보인다.

using System.Linq.Expressions;

string GetVariableName<T>(Expression<Func<T>> expr)
{
    var body = (MemberExpression)expr.Body;

    return (body.Member.Name);
}

2016-12-29

C# - 배열 복사(Array Copy)

* C# 배열 복사(Array Copy)
 - System.Array.Copy()와 Clone()은 CopyTo()와 같은 메소드가 있다.레퍼런스 형태의 복사가 아니고 독립적인 메모리에 값을 설정합니다.


int[] src = new int[4] { 14, 15, 16, 17 };
int[] dstCopy = new int[4];
int[] dstCopyTo = new int[4];
int[] dstClone;

// 앞 2개의 값을 복사, 일부를 복사할 경우 사용
System.Array.Copy(src, dstCopy, 2);

// 목표 배열에 2번째 인덱스 부터 복사, 메모리 익셉션 주의
src.CopyTo(dstCopyTo, 2);

// 모든 항목을 복사(메모리를 할당)
dstClone = (int[])src.Clone();