C#에서 유파를 실장해 본다(𠮷田씨에게도 대응)
C# 8 베이스의 것은 다른 쪽이 써 주고 있습니다.
C#에서 유파를 구현해보십시오.
최상위 문장 만 사용할 수있는 것이 없습니다.
유파는 심플하기 때문에 톱 레벨 스테이트먼트 정도 밖에 사용할 수 있는 것이 없습니다… 그래서 이렇게 됩니다.
using System;
Console.WriteLine("契約書だよ。そこに名前を書きな。");
var name = Console.ReadLine();
Console.WriteLine($"フン。{name}というのかい。贅沢な名だねぇ。");
var random = new Random();
var newNameIndex = random.Next(name.Length);
var newName = name[newNameIndex];
Console.WriteLine($"今からお前の名前は{newName}だ。いいかい、{newName}だよ。分かったら返事をするんだ、{newName}!!");
𠮷田 씨 대응
공문자로 떨어지는 것은 사양이므로 두고 있어 𠮷다씨가 일할 수 없는 것은 문제입니다. Windows 명령 프롬프트와 PowerShell에서 𠮷 씨를 볼 수 없으므로 GitHub Codespace에서 적절한 Linux 컴퓨터에서 시도해보십시오.
그렇게 하면 신청 용지는 𠮷다씨에 대응해 준 것 같습니다만 중요한의 할머니가 𠮷다씨라고 버그해 버립니다.
이것입니다만, 속에 말하는 4 바이트 문자에 대응하고 있지 않는 것에 의해 일어납니다. 사로 게이트 쌍이라든지 4 바이트 문자 당으로 빙빙하면 정보가 나옵니다.
C#에서는
System.Globalization.StringInfo
클래스를 사용하여 대응합니다. 이번과 같이 1 문자만 꺼낼 수 있으면 좋다고 하는 경우에서는 StringInfo
클래스의 인스턴스를 만들어 LengthInTextElements
로 사로 게이트 페어도 제대로 봐 준 상태에서의 문자수 카운트를 해 SubstringByTextElements
제대로 고려한 상태에서 1문자 잘라내면 됩니다.그렇다면 𠮷田 씨에 대응한 유파는 다음과 같습니다.
using System;
using System.Globalization;
Console.WriteLine("契約書だよ。そこに名前を書きな。");
var name = Console.ReadLine();
Console.WriteLine($"フン。{name}というのかい。贅沢な名だねぇ。");
var nameInfo = new StringInfo(name);
var random = new Random();
var newNameIndex = random.Next(nameInfo.LengthInTextElements);
var newName = nameInfo.SubstringByTextElements(newNameIndex, 1);
Console.WriteLine($"今からお前の名前は{newName}だ。いいかい、{newName}だよ。分かったら返事をするんだ、{newName}!!");
그럼 실행해 보겠습니다.
정확합니다. 이것으로 𠮷田 씨도 일할 수 있습니다. 물론 공문자의 경우는 사양대로 예외가 발생합니다.
요약
벌써 1 기사 정도 유파로 쓸 수 있을 것 같은 생각이 든다.
Reference
이 문제에 관하여(C#에서 유파를 실장해 본다(𠮷田씨에게도 대응)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/okazuki/items/03049da368222b562da9텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)