.NET에서 “문자열”과 “문자열”의 차이점은 무엇입니까? 언어로, 문자열 유형의 두 가지

.NET Framework에서는 최소한 C # 언어로, 문자열 유형의 두 가지 “버전”이 있습니다.

  • “끈”
  • “끈”

그들은 상호 교환 가능한 것처럼 보이지만 실제로는입니까? 상호 교환이 불가능한 경우 일반적으로 다른 것을 사용하는 것이 더 좋으며 어떤 상황에서 사용하는 것이 더 낫습니까?



답변

MSDN 에 따르면

string 은 .NET Framework에서 String 의 별칭입니다 .

여기서 “String”은 실제로 System.String입니다.

나는 그것들이 상호 교환 가능하고 언제 어디서 사용 해야하는지 차이가 ​​없다고 말하고 싶습니다.

어느 것을 사용했는지 일관성을 유지하는 것이 좋습니다.


답변

지적했듯이, 그것들은 똑같으며 string단지 별명입니다.String 입니다.

가치있는 것을 위해 string변수, 속성, 반환 값 및 매개 변수 유형을 선언 하는 데 사용 합니다. 이것은 다른 시스템 유형의 사용과 일치 – int, bool, var등 (비록 Int32Boolean 도 정확).

내가 사용하는 String것처럼, String 클래스의 정적 메소드를 사용하는 경우 String.Split()String.IsNullOrEmpty(). 메소드가 클래스에 속하기 때문에 이것이 더 의미가 있다고 생각하며 다른 정적 메소드를 사용하는 방법과 일치합니다.


답변

소문자를 사용하는 것이 좋습니다 string. 대문자 String는 가져온 네임 스페이스에서 찾은 첫 번째 클래스 인 String을 사용합니다 System.String. 일반적으로 입니다. 대신 자신의 String 클래스를 사용할 수 있습니다.


답변

string 단순히 C # 키워드입니다. System.String

이 키워드의로, 다른 등 문체, 당신은 오히려보다 키워드를 사용하는 것을 선호 할 수 있다면 ..하지만, 편집기를 착색 당신의 구문은 / IDE는 INT와 같은 이중 키워드 색상에 표시됩니다 System.String단지 유형 (또는 String후 너는 해냈어using System; .

이것은 비록 같이, 비록 틈새 점이며 bool, char, int, doublestring시스템 유형에 대한 모든 키워드 별명, string인 홀수 하나 초과가 참조 형식이고 다른 값 유형 같다.


답변

string에 대한 별칭 일뿐 String입니다. 궁극적으로 동일합니다.

나는 일반적으로 사용하지만 당신은, 당신이 선호하는 중 사용할 수있는 string기본 데이터 형식처럼 많이 사용에 내가 계획하고있을 때 (유사에 int, float또는 bool)와 String나는 객체 / 클래스로 사용에 대한 계획이있을 때. 예를 들면 다음과 같습니다.

string foo = "   ";
if (String.isNullOrWhitespace(foo))
{
    // ...
}

위의 경우, foo단순히 텍스트를 효과적으로 저장하기 위해 (기본적으로) 사용할 계획이므로 사용합니다 string. 그러나 전화 할 때 String.isNullOrWhitespace(string)사용 String합니다. 일반적으로 클래스 이름의 첫 글자는 대문자 ( String)이지만 첫 글자 (예 🙂 는 대문자 int가 아니기 때문에 이렇게합니다.


답변

문자열은 네임 스페이스 System.String과 함께 사용되며 문자열은 C # 컴파일러 사양과 함께 사용되며 System.String 은 참조 유형 값입니다. 리터럴 목적으로 만 시스템 오브젝트, 문자열을 처리하는 것이 좋습니다. 시스템과 시스템 모두 작동합니다.

string TC = new System.String('/', 5);

문자열은 비교, 동등 및 기타 목적으로도 사용됩니다.


답변