/// <summary> /// <see cref="한글"/> 구조체의 인스턴스를 초기화합니다. /// </summary> /// <param name="문자"><see cref="한글"/> 구조체로 변환될 한글 문자입니다.</param> public 한글(문자 문자) { if (완성형한글여부(문자)) { 정수 니코드값 = 문자; 니코드값 -= 0xac00; var 나머지 = 니코드값 % (모음갯수 * 받침갯수); 자음 = (자음)(니코드값 / (모음갯수 * 받침갯수)); 모음 = (모음)(나머지 / 받침갯수); 받침 = (받침)(나머지 % 받침갯수); } else { 자음 = 자음.실패; 모음 = 모음.실패; 받침 = 받침.실패; } }
/// <summary> /// <see cref="한글"/> 구조체의 인스턴스를 초기화합니다. /// </summary> /// <param name="자음">설정할 자음입니다.</param> /// <param name="모음">설정할 모음입니다.</param> /// <param name="받침">설정할 받침입니다. 기본값은 <see cref="받침.없음"/>입니다.</param> public 한글(자음 자음, 모음 모음, 받침 받침 = 받침.없음) { this.자음 = 자음; this.모음 = 모음; this.받침 = 받침; }
/// <summary> /// 한글의 자음, 모음, 받침을 한 문자로 조합합니다. /// </summary> /// <param name="자음"></param> /// <param name="모음"></param> /// <param name="받침"></param> /// <returns></returns> public static 문자 조합(자음 자음, 모음 모음, 받침 받침 = 받침.없음) => (문자)조합((정수)자음, (정수)모음, (정수)받침);