[c#] 알파벳 문자 배열 생성

C #에서 알파벳 문자를 포함하는 배열을 생성하는 쉬운 방법이 있습니까? 손으로하는 것은 그리 어렵지 않지만 이렇게 할 수있는 방법이 있는지 궁금합니다.



답변

내장 된 방식은 없다고 생각하지만 가장 쉬운 방법은

  char[] alpha = "ABCDEFGHIJKLMNOPQRSTUVWXYZ".ToCharArray();


답변

C # 3.0 :

char[] az = Enumerable.Range('a', 'z' - 'a' + 1).Select(i => (Char)i).ToArray();
foreach (var c in az)
{
    Console.WriteLine(c);
}

예, Enumerable.Range의 유일한 오버로드가 int 매개 변수를 허용하더라도 작동합니다 😉


답변

for (char letter = 'A'; letter <= 'Z'; letter++)
{
     Debug.WriteLine(letter);
}


답변

char[] alphabet = Enumerable.Range('A', 26).Select(x => (char)x).ToArray();


답변

1 기반 인덱스를 기반으로 MS 엑셀 열 코드 (A, B, C, …, Z, AA, AB, …, ZZ, AAA, AAB, …)를 얻기 위해 이것을 작성했습니다. (물론, 제로 기반으로 전환하는 것은 단순히 column--;시작 부분에서 벗어나는 것 입니다.)

public static String getColumnNameFromIndex(int column)
{
    column--;
    String col = Convert.ToString((char)('A' + (column % 26)));
    while (column >= 26)
    {
        column = (column / 26) -1;
        col = Convert.ToString((char)('A' + (column % 26))) + col;
    }
    return col;
}


답변

영어 알파벳의 글자를 의미한다고 가정하면 …

    for ( int i = 0; i < 26; i++ )
    {
        Console.WriteLine( Convert.ToChar( i + 65 ) );
    }
    Console.WriteLine( "Press any key to continue." );
    Console.ReadKey();


답변

문자의 ascii 값에 따라 다음과 같이 할 수 있습니다.

char[26] alphabet;

for(int i = 0; i <26; i++)
{
     alphabet[i] = (char)(i+65); //65 is the offset for capital A in the ascaii table
}

( 여기 의 표를 참조 하십시오 .) 문자의 int 값에서 문자 값으로 캐스트하고 있지만 다른 언어 등이 아닌 ASCII 문자에서만 작동합니다.

편집 : Mehrdad 가 유사한 솔루션에 대한 의견에서
제안했듯이 다음 을 수행하는 것이 좋습니다.

alphabet[i] = (char)(i+(int)('A'));

이것은 A 문자를 int 값으로 캐스팅 한 다음 이에 따라 증가하므로 하드 코딩되지 않습니다.