문자열의 소문자 및 대문자 버전이 존재하는 이유는 무엇이며 어떤 것을 사용해야합니까? [복제]
좋아요, 이것은 어리석은 질문 일 수 있지만 그것에 대한 정보를 찾을 수 없었습니다.
String.Empty와 string.Empty는 동일합니까? 소문자 버전 (string.Empty)보다 IDE에서 색상과 모양을 선호하기 때문에 항상 대문자 버전 (String.Empty)을 사용하는 것이 마음에 듭니다.
다른 것을 사용하는 "올바른"방법이 있습니까, 아니면 전적으로 개인적인 취향에 달려 있습니까? 둘 다 똑같다는 가정 이었지만, 솔직히 말해서 오늘 어떤 이유에서든 "둘 다 존재한다면 둘 다 이유가 있어야한다"고 생각하기 전까지는 전혀 생각하지 않았습니다.
인가 누군가가 알고있는 이유는? 그렇다면 무엇입니까? 누구든지 나를 깨달을 수 있습니까?
추신 : "정확한 중복"은 "왜 둘 다 존재합니까?"가 아니라 "어떤 것이 맞습니까?"라는 질문의 절반에 대해서만 대답합니다.
정확한 중복 : C #에서 문자열과 문자열의 차이점은 무엇입니까?
정확한 중복 : C #의 문자열 대 문자열
C #에서 소문자 형식 이름은 형식 이름의 별칭입니다 ( System.xxx예 : stringequals System.String및 intequals) System.Int32.
일관성을 위해 해당 프레임 워크 대신 형식 이름에 이러한 언어 별칭을 사용하는 것이 가장 좋습니다. 그래서 당신은 그것을 잘못하고 있습니다. ;-)
둘 다 존재하는 이유는 .NET 유형이 CTS (공통 유형 시스템)라는 .NET 라이브러리에 대한 언어 독립적 표준으로 정의되어 있기 때문에 존재합니다. C #이 이러한 별칭을 정의하는 이유는 저를 초월합니다 (VB는 매우 유사한 작업을 수행합니다). 두 가지 이유는
- 습관. 일부 기본 유형에 대해 동일한 유형 이름을 제공하여 이러한 모든 C 및 Java 프로그래머가 C #을 사용하도록하십시오.
- 게으름 :
System네임 스페이스를 사용하기 위해 가져올 필요가 없습니다 .
편집 많은 사람들이 다른 표기법을 선호하는 것 같기 때문에 이것이 결코 비합리적이지 않다는 점을 지적하겠습니다. 실제로 C #의 키워드가 아닌 CTS 유형 이름을 사용하는 데 좋은 사례를 만들 수 있으며 다른 답변에는 표면적으로 좋은 인수가 제공됩니다. 순수성 / 스타일의 관점에서 나는 아마도 동의 할 것이다.
그러나 이것이 프로젝트 전체에서 코드를 통합하는 데 도움이되는 잘 확립 된 규칙을 위반할 가치가 있는지 고려하십시오.
개념적으로 다음과 유사합니다.
using int=System.Int32
문자열은 문자열 클래스 AFAIK에 매핑되므로 동일합니다.
예를 들어 int 및 Int32도 마찬가지입니다.
둘 다 동일합니다.
개인적으로 저는 Int32 대신 int를 사용하는 것과 같은 이유로 .NET 클래스 이름 대신 C # 키워드를 사용하여 소문자 문자열 인 "파란색"을 사용하는 것을 선호합니다. 또한 소문자는 System 네임 스페이스를 포함 할 필요가 없습니다.
개인적으로 String과 Object 모두 참조 인 반면 다른 모든 기본 유형은 값 유형이므로 String을 사용하는 것을 선호합니다. 제 생각에는 이것이 가장 명확한 분리입니다.
'Programing' 카테고리의 다른 글
| 노드 child_process를 사용하는 Stdout 버퍼 문제 (0) | 2020.10.07 |
|---|---|
| 인형을위한 재귀 체계? (0) | 2020.10.06 |
| API 게이트웨이 대 역방향 프록시 (0) | 2020.10.06 |
| Haskell 웹 개발을위한 생태계는 무엇입니까? (0) | 2020.10.06 |
| ReservedCodeCacheSize 및 InitialCodeCacheSize는 무엇입니까? (0) | 2020.10.06 |