3

나는 그들 사이의 차이점과 그것들을 사용하는 확실한 방법이 무엇인지 알고 싶다.


5 답변


21

절대적으로 차이가 없습니다. IL 수준조차도. C #string실제의 별칭입니다.System.String.NET 유형. 가능한 사용법에 관해서는, 응용 프로그램에서 빈 문자열을 나타낼 때마다 사용하십시오. 그 차이점은 무엇입니까?string.Empty""그리고 일반적인 합의는 여러분이 가장 잘 맞는 것을 사용해야하고, 주관적인 코드를 더 읽기 쉽게 만들어야한다는 것입니다.


  • var s2 = String.Empty는 " 시스템 "에 대한 import 문이 필요합니다. var s2 = string.Empty는 그렇지 않습니다. 내가 왜 그것을 언급하는지 모르겠다. - RPM1984
  • 오, 나쁜 질문에 대한 좋은 대답은 +1. - RPM1984
  • 나는 hp ppl 문자열 이름 = string.Empty 및 보호 된 문자열 _PK_ID = String.Empty 왜 그들은 단지 .....이 코드를 읽을 수 있도록 사용하여 사용하여 본 ....... - user
  • @ RPM1984,string별칭입니다.System.String. 이것이 가져 오기가 필요한 이유입니다. 컴파일러에 의해 방출 된 일리노이에서 여전히 차이가 없다. - Darin Dimitrov
  • 이전에는 String.Empty에 대한 참조를 사용하는 것이 " "을 사용하여 빈 문자열을 많이 사용하는 것보다 낫습니다. " "로 빈 문자열을 만들 때마다 문자열에 메모리가 할당되고 String.Empty에 이미 할당되어 있습니다. 그러나 최근에는 C #컴파일러가 자동으로 문자열 인라이닝을 수행하므로 그리 나쁘지 않습니다. 나는 여전히 마법의 문자열을 통해 명명 된 상수의 사용을 선호한다 - 그래서 나는 항상 String.Empty로 간다. - Tim Roberts

2

차이 없음.string별칭입니다.System.String


  • string은 mscorlib의 System.String에 대한 별칭입니다. 어셈블리에서 System.String을 정의 할 수 있지만 문자열은 변경되지 않습니다. - gandjustas

1

No difference, it’s just predefine text or name for compiler.

string =String (class)
int =Int32 (struct)
long= Int64 (struct)
decimal = Decimal (struct)

컴파일러는 String 클래스로 해석하고 다른 것은 관련 구조로 해석합니다.


0

그냥 FUI : 별칭 - Int32와 int 사이에는 한 가지 차이점이 있습니다. 예를 들면 다음과 같습니다.

다음과 같이 작성할 수 있습니다.

enum A : int
{
}

그러나 다음과 같이 작성할 수는 없습니다.

enum A : Int32
{
}


-1

내가 아는 한, 차이점은 없습니다. 적어도 결과에 차이는 없습니다.

You may use it like this:

string mystring = "blah";

mystring = string.Empty;

또는

String mystring = "blah";

mystring = String.Empty;


  • 너의 하품 표를 설명하는 배려!? - anon271334

연결된 질문


관련된 질문

최근 질문