C#을 사용하여 a에서 z까지 알파벳 순회
P粉982881583
2023-08-23 09:51:55
<p>알파벳 순회에 관해 질문이 있습니다.
"a"에서 시작하고 "z"에서 끝나는 루프를 원합니다. 그런 다음 루프는 "aa"에서 시작하여 "az"까지 계산됩니다. 그런 다음 "ba"에서 시작하여 "bz"로 이동하는 식으로 진행됩니다...</p>
<p>해결책 아시는 분 계신가요? </p>
<h2>감사합니다</h2>
<p>편집: 잊어버렸습니다. 함수에 문자 "a"를 지정한 다음 함수는 "b"를 반환해야 합니다. "bnc"가 제공되면 함수는 "bnd"를 반환해야 합니다. </p>
먼저 시도해 보세요. a-z를 사용한 다음 aa-zz를 사용하세요
으아아아'zz'에서 중지된다는 점에 유의하세요. 물론 루프에는 몇 가지 추악한 반복이 있습니다. 운 좋게도 이 문제는 쉽게 해결할 수 있으며 훨씬 더 유연할 수 있습니다.
두 번째 시도: 더욱 유연한 알파벳
으아아아이제 a, b, c, d, aa, ab, ac, ad, ba 등을 생성하고 싶다면
GetExcelColumns("abcd")
에 전화하세요.세 번째 시도(추가 수정) - 무한 시퀀스
으아아아재귀를 사용하면 코드가 더 깔끔해지겠지만 그만큼 효율적이지는 않을 것입니다.
특정 지점에서 멈추고 싶다면 LINQ를 사용할 수 있습니다.
으아아아"다시 시작" 반복자
주어진 지점에서 반복자를 다시 시작하려면 소프트웨어jedi가 제안한 대로
으아아아SkipWhile
를 사용할 수 있습니다. 물론 이는 상당히 비효율적이다. 호출 사이에 상태를 유지할 수 있으면 반복자를 유지할 수 있습니다(두 솔루션 모두):또는 실제로 사용할 수 있는 첫 번째 값이 발견되면 중단하는
foreach
코드를 구조화할 수도 있습니다.EDIT: 원본 게시물의 최신 편집 내용과 똑같이 만드세요
가장 간단한 솔루션이며 테스트를 거쳤습니다.
으아악