programing

C#: 문자열의 첫 문자를 얻는 방법은 무엇입니까?

javajsp 2023. 8. 27. 08:56

C#: 문자열의 첫 문자를 얻는 방법은 무엇입니까?

캔더퍼스트char다음을 수행하여 문자열을 검색할 수 있습니까?

MyString.ToCharArray[0]

그저.MyString[0]문자열을 사용합니다.문자 인덱서입니다.

Mystring[0]충분할 것입니다

이거 해봐요.

string s1="good"; string s=s1.Substring(0,1);

LINQ를 사용할 수 있습니다.

char c = mystring.FirstOrDefault()

다음과 같을 것입니다.'\0'문자열이 비어 있는 경우

사이의 차이MyString[0]그리고.MyString.ToCharArray()[0]전자는 문자열을 읽기 전용 배열로 취급하는 반면,ToCharArray()새 배열을 만듭니다.전자는 효과가 있는 거의 모든 곳에서 더 빠릅니다.ToCharArray배열을 수락해야 하는 메서드가 있거나 배열을 변경하려는 경우 필요할 수 있습니다.

문자열이 null이 아니고 비어 있지 않은 경우 다음 작업을 수행할 수 있습니다.

string.IsNullOrEmpty(MyString) ? (char?)null : MyString[0]

이것은 a를 반환합니다.char?해당하는 경우 문자열의 첫 번째 문자 또는 null입니다.

또 다른 접근 방식:

string mystr = "hello";
MessageBox.show(mystr.Substring(0, 1));

또는 다음을 수행할 수 있습니다.

MyString[0];

C# 8.0+부터는 범위 인덱서 구문을 사용할 수 있습니다.

다음 코드:

var name = "Dotnet".Substring(0, 1)

범위 구문을 사용하여 쓸 수 있습니다.

var name = "Dotnet"[..1]

닷넷 피들에서 사용해 보세요.

자세한 예는 공식 문서 참조

입력 문자열이 범위 인덱스보다 작으면 위의 코드가 느려집니다.이 LINQ는 이러한 문제를 방지합니다.

var name = "Dotnet".Take(1).ToArray()

닷넷 피들에서 사용해 보세요.

제 생각에 당신은 이것을 찾고 있는 것 같습니다.MyString.ToCharArray()[0]

:)

하지만 당신은 사용할 수 있습니다.MyString[0]너무.

문자열에서 첫 번째 문자를 가져오는 예제는 다른 사용자에게 도움이 될 수 있습니다.

string anyNameForString = "" + stringVariableName[0];

C# 8에서는 범위를 사용할 수 있습니다.

myString[0..Math.Min(myString.Length, 1)]

추가 a?끝나고myString처리할null줄들.

나의 끈.제거(1, 2); 또한 작동합니다.

당신의 질문에 대한 대답은 아니오입니다.

정답은 MyString[캐릭터 위치]입니다.MyString[0]의 경우 0은 문자열의 첫 번째 문자입니다.

문자 값은 '(단일 따옴표)로 지정되며, 이 경우 x 문자 값은 'x'로 기록됩니다.

문자열 값은 "(중따옴표)"로 지정되며, 이 경우 x 문자열 값은 "x"로 기록됩니다.

Substring() 메서드도 문자를 반환하지 않습니다. Substring() 메서드는 문자열을 반환합니다!

문자열은 문자 배열이며, 마지막 문자는 '\0'(null) 문자여야 합니다.이것은 문자 배열과 문자열(마지막 문자가 "문자열 끝 마커 '\0' null인 문자 배열)의 차이입니다.

또한 'x'는 'x'와 같지 않습니다.왜냐하면 "x"는 실제로 'x'+'\0'이기 때문입니다.

아마도 이것이 도움이 될거야.는 중용사를 합니다.txtModel_Leave그런 다음 event method를 만들어 첫 번째 charin main 텍스트 상자를 탐지합니다.

private void txtMain_Leave(object sender, EventArgs e)
{
    detectFirstChar();
}

private void detectFirstChar() 
{
    string mystr = txtModel.Text;

    if (String.IsNullOrEmpty(txtModel.Text))
    {
        txtAwalan.Text = "";
    }
    else if (mystr.Substring(0, 1) == "F")
    {
        txtKategori.Text = "Finishing";               
    }
    else if((mystr.Substring(0, 1) == "H"))
    {
        txtKategori.Text = "Half";
    }
    else
    {
        txtKategori.Text = "NONE";
    }
}

문자열에서 문자 가져오기는 인코딩에 따라 달라질 수 있습니다(문자열 기본값은 UTF-16).

https://stackoverflow.com/a/32141891

string str = new String(new char[] { '\uD800', '\uDC00', 'z' });
string first = str.Substring(0, char.IsHighSurrogate(str[0]) ? 2 : 1);

언급URL : https://stackoverflow.com/questions/3878820/c-how-to-get-first-char-of-a-string