.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);
문자열은 비교, 동등 및 기타 목적으로도 사용됩니다.