문제

C#에는 다음이 있습니다. String 사물과 string 사물.

둘 사이의 차이점은 무엇입니까?사용할 모범 사례는 무엇입니까?

도움이 되었습니까?

해결책

다른 점이 없다.string(소문자)은 System.String의 별칭일 뿐입니다.

다른 팁

차이 없음. System.String 은(는) 완전히 동일합니다. string.일반적인 C# 코딩 지침에 따르면 키워드를 사용해야 합니다. string.

이는 별칭이며 상호 교환 가능합니다.그러나 스타일상 선언에는 소문자 문자열을 사용하고 정적 메서드에는 String을 사용합니다.

string foo = "bar";

if( foo != String.Empty )
{
   Console.WriteLine(String.Format("foo.Length = {0}", foo.Length));
}

하나는 .Net 유형인 System.String이고 다른 하나는 System.String에 대한 별칭으로 밝혀진 C#에만 해당됩니다.

http://msdn.microsoft.com/en-us/library/362314fe(VS.71).aspx

차이가 없습니다.string은 컴파일러가 System.String으로 변환하는 별칭입니다.

실제로 MSIL에서는 별칭으로도 사용됩니다.

.method private hidebysig static void  Main(string[] args) cil managed

그들 사이에는 차이가 없습니다.string은 System.String의 별칭일 뿐입니다.컴파일되면 둘 다 System.String 개체로 컴파일됩니다.

소문자 버전은 실제 클래스 String에 대한 별칭일 뿐입니다.IL이 생성되는 한 실제 차이는 없습니다.

다른 점이 없다.string은 System.String 클래스를 참조하는 C# 언어 키워드입니다. 마찬가지로 int가 System.Int32를 참조하는 키워드입니다.

앞으로는 두 가지를 모두 사용하는 앱을 컴파일한 다음 Reflector(언어를 IL로 변경)를 사용하여 컴파일된 출력을 확인해 보세요.차이가 없음을 알 수 있습니다.

문자열은 컴파일러에 의해 System.String으로 변환되므로 차이가 없습니다.모든 일반 유형과 동일합니다(int는 System.Int32로 이동 등).눈에 띄도록 단순한 이름을 사용합니다.

16비트/32비트 시스템에 따라 일부 언어에서 "int"가 다르다는 점을 고려하면 "문자열"은 앞으로 System.String과 동일하지 않게 발전할 수 있습니다.

하지만 지금은 그렇습니다.

조금 참고하세요:문자열/문자열은 유일한 별칭이 아닙니다.예.Integer, Int32, int는 모두 별칭입니다.

@mliesen:C#에서는 이런 일이 발생하지 않으며 C와도 다릅니다.이는 C#에서는 실행 파일을 생성하는 것이 아니라 java와 같이 컴파일된 코드를 생성하기 때문입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top