.NET Framework에서는 최소한 C # 언어로, 문자열 유형의 두 가지 “버전”이 있습니다.
- “끈”
- “끈”
그들은 상호 교환 가능한 것처럼 보이지만 실제로는입니까? 상호 교환이 불가능한 경우 일반적으로 다른 것을 사용하는 것이 더 좋으며 어떤 상황에서 사용하는 것이 더 낫습니까?
답변
MSDN 에 따르면
string 은 .NET Framework에서 String 의 별칭입니다 .
여기서 “String”은 실제로 System.String
입니다.
나는 그것들이 상호 교환 가능하고 언제 어디서 사용 해야하는지 차이가 없다고 말하고 싶습니다.
어느 것을 사용했는지 일관성을 유지하는 것이 좋습니다.
답변
지적했듯이, 그것들은 똑같으며 string
단지 별명입니다.String
입니다.
가치있는 것을 위해 string
변수, 속성, 반환 값 및 매개 변수 유형을 선언 하는 데 사용 합니다. 이것은 다른 시스템 유형의 사용과 일치 – int
, bool
, var
등 (비록 Int32
및Boolean
도 정확).
내가 사용하는 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
, double
및 string
시스템 유형에 대한 모든 키워드 별명, 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);
문자열은 비교, 동등 및 기타 목적으로도 사용됩니다.