Programing

문자열의 소문자 및 대문자 버전이 존재하는 이유는 무엇이며 어떤 것을 사용해야합니까?

crosscheck 2020. 10. 6. 07:53
반응형

문자열의 소문자 및 대문자 버전이 존재하는 이유는 무엇이며 어떤 것을 사용해야합니까? [복제]


좋아요, 이것은 어리석은 질문 일 수 있지만 그것에 대한 정보를 찾을 수 없었습니다.

String.Empty와 string.Empty는 동일합니까? 소문자 버전 (string.Empty)보다 IDE에서 색상과 모양을 선호하기 때문에 항상 대문자 버전 (String.Empty)을 사용하는 것이 마음에 듭니다.

다른 것을 사용하는 "올바른"방법이 있습니까, 아니면 전적으로 개인적인 취향에 달려 있습니까? 둘 다 똑같다는 가정 이었지만, 솔직히 말해서 오늘 어떤 이유에서든 "둘 다 존재한다면 둘 다 이유가 있어야한다"고 생각하기 전까지는 전혀 생각하지 않았습니다.

인가 누군가가 알고있는 이유는? 그렇다면 무엇입니까? 누구든지 나를 깨달을 수 있습니까?

추신 : "정확한 중복"은 "왜 둘 다 존재합니까?"가 아니라 "어떤 것이 맞습니까?"라는 질문의 절반에 대해서만 대답합니다.


정확한 중복 : C #에서 문자열과 문자열의 차이점은 무엇입니까?

정확한 중복 : C #의 문자열 대 문자열


C #에서 소문자 형식 이름은 형식 이름의 별칭입니다 ( System.xxx예 : stringequals System.Stringintequals) System.Int32.

일관성을 위해 해당 프레임 워크 대신 형식 이름에 이러한 언어 별칭을 사용하는 것이 가장 좋습니다. 그래서 당신은 그것을 잘못하고 있습니다. ;-)

둘 다 존재하는 이유는 .NET 유형이 CTS (공통 유형 시스템)라는 .NET 라이브러리에 대한 언어 독립적 표준으로 정의되어 있기 때문에 존재합니다. C #이 이러한 별칭을 정의하는 이유는 저를 초월합니다 (VB는 매우 유사한 작업을 수행합니다). 두 가지 이유는

  1. 습관. 일부 기본 유형에 대해 동일한 유형 이름을 제공하여 이러한 모든 C 및 Java 프로그래머가 C #을 사용하도록하십시오.
  2. 게으름 : System네임 스페이스를 사용하기 위해 가져올 필요가 없습니다 .

편집 많은 사람들이 다른 표기법을 선호하는 것 같기 때문에 이것이 결코 비합리적이지 않다는 점을 지적하겠습니다. 실제로 C #의 키워드가 아닌 CTS 유형 이름을 사용하는 데 좋은 사례를 만들 수 있으며 다른 답변에는 표면적으로 좋은 인수가 제공됩니다. 순수성 / 스타일의 관점에서 나는 아마도 동의 할 것이다.

그러나 이것이 프로젝트 전체에서 코드를 통합하는 데 도움이되는 잘 확립 된 규칙을 위반할 가치가 있는지 고려하십시오.


개념적으로 다음과 유사합니다.

using int=System.Int32

문자열은 문자열 클래스 AFAIK에 매핑되므로 동일합니다.

예를 들어 int 및 Int32도 마찬가지입니다.


둘 다 동일합니다.

개인적으로 저는 Int32 대신 int를 사용하는 것과 같은 이유로 .NET 클래스 이름 대신 C # 키워드를 사용하여 소문자 문자열 인 "파란색"을 사용하는 것을 선호합니다. 또한 소문자는 System 네임 스페이스를 포함 할 필요가 없습니다.


개인적으로 String과 Object 모두 참조 인 반면 다른 모든 기본 유형은 값 유형이므로 String을 사용하는 것을 선호합니다. 제 생각에는 이것이 가장 명확한 분리입니다.

참고 URL : https://stackoverflow.com/questions/452368/why-do-lowercase-and-uppercase-versions-of-string-exist-and-which-should-i-use

반응형