저는 4 년 동안 .NET 응용 프로그램을 개발해 왔습니다. 지금까지 필자가 작성한 클래스에 대한 암시 적 변환은 필요하지 않았습니다.
암시 적 변환을 수행하지 않아도 실생활에서 상황을 제공 할 수 있습니까? 클래스에 대해 암시 적 변환을 얼마나 자주합니까?
답변
암시 적 변환 만 정의되어야한다 주셔서 감사합니다. 또 다른 기준은 암시 적 변환이 비교적 저렴해야한다는 것입니다. 왜냐하면 암시 적 변환이 언제 발생하는지 알지 못하기 때문입니다.
예 : 좌표계 간의 변환. 예를 들어 데카르트 좌표로 변환 할 수있는 극좌표 벡터가 편리 할 수 있습니다. 그러나 부동 소수점 반올림 때문에 프로그래머가 변환을 강제 실행하기 위해 타입 변환해야하므로이를 명시 적 변환으로 두는 것이 좋습니다.
동일한 형식으로 데이터를 저장하지만 두 유형 간의 유일한 차이점은 의미 론적 의미 - 사용 방법 또는 의미 의미가있는 경우 암시 적 변환이 필요합니다. 실제 예제 : 동일한 (또는 호환되는) 기본 표현이지만 epoc 시작 날짜 만 다른 datetime 데이터 유형 간의 변환. 이전 코드베이스를 새로운 프레임 워크로 마이그레이션 할 때이 두 프레임 워크 모두 datetime 유형을 정의하지만 의미는 약간 다릅니다. 여기서 암시 적 변환 (전혀 데이터 손실이 없다고 가정)은 아마도 괜찮은 생각입니다.
유형 집합이 있고 형식을 서로간에 변환 할 수있는 방법에 대한 자체 규칙을 정의한 경우 이러한 변환 중 일부는 암시 적 일 수 있으며 변환의 "심각도"에 따라 명시적일 수 있습니다. .NET에서 클래스를 구현할 때 암시 적 변환을 사용하는 주요 인스턴스는 Delphi 런타임 라이브러리에 대해 Win32 Variant 의미를 구현할 때였습니다. Win32 및 Delphi 언어는 함축적으로 수행 할 수있는 Variant 데이터의 변환을 지정합니다.
암시 적 변환을 만들 필요가 없다는 사실은 실제로 좋은 일입니다. 네가 할 수 있다고해서 네가해야한다는 뜻은 아니야. 암시 적 변환은 .NET에서 주로 존재합니다. 다른 프로그래밍 언어가 다른 .NET 언어로 상호 운용되고 이해할 수있는 방식으로 자신의 의미를 표현할 수있게합니다.
BCL의 좋은 예 : 문자열을 XName로 승격. 오직 좋은 것이 이것에서 온다. –
XName은 아름답습니다. XNamespace를 사용하여 빌드하는 방법을 이해하기는 좀 이상하지만 패턴을 얻은 후에는 너무 멋지다. – dthorpe
- 1. 암시 적 변환을 DateTime에서 암시 적 변환을 사용하여 Comparable로 변환 할 수 없습니다.
- 2. rvalue 레퍼런스는 암시 적 변환을 허용합니까?
- 3. 암시 적 변환을 사용할 수 있는지 테스트합니다.
- 4. 암시 적 변환을 사용해야 전제 조건을 적용해야합니까?
- 5. 내가 Tuple2의 암시 적 변환을 작성하려면 2.8
- 6. C# 확장 메서드를 사용하여 암시 적 변환을 구현할 수 있습니까?
- 7. 암시 적 변환을 사용하여 C++ 함수 템플릿 인스턴스화를 시뮬레이트합니다.
- 8. 암시 적 변환 찾기
- 9. 클래스 암시 적 변환
- 10. 인터페이스에서 다른 유형으로 암시 적 변환을 작성하는 방법?
- 11. C++은 조건에서 bool 로의 암시 적 변환을 사용합니까?
- 12. "long i = 1;" C에서 암시 적 타입 변환을 일으키는가?
- 13. 숫자 형식 간의 산술을 허용하는 암시 적 변환을 설정하는 방법?
- 14. Groovy에서 암시 적 타입 변환을 오버로드 할 수 있습니까?
- 15. C#을 사용하여 제네릭 클래스의 암시 적 변환을 생성 하시겠습니까?
- 16. SQL Server에서 암시 적 유형 변환을 해제하는 방법이 있습니까?
- 17. 얼마나 자주합니까 Bug Tracking System/Software를 업그레이드하십시오.
- 18. C++ 암시 적 변환
- 19. 델파이 (-xe) : 암시 적 변환
- 20. 연속 및 암시 적 변환
- 21. 리터럴 및 암시 적 변환의 변환
- 22. ASP.NET : 명시 적 대 암시 적 현지화?
- 23. 암시 적 스타일로 덮어 쓰기 된 암시 적 xaml 스타일
- 24. CMake의 암시 적 규칙
- 25. VB.NET의 암시 적 캐스팅
- 26. 암시 적 변환
- 27. 암시 적 상향식 질문
- 28. 암시 적 선언 'objc_lookUpClass'
- 29. 암시 적 연산자?
- 30. DynamicObject 암시 적 캐스팅
.NET의 숫자 형식을 통해 이미 제공되는 것을 넘어선 실제적인 이유를 생각할 수 없습니다. – leppie
이것은 커뮤니티 위키이어야합니다 (명확한 답이 없음). 또는 언제, 왜해야하는지, 그리고 왜해서는 안되는지 묻기 위해 다시 말하십시오. 그게 더 좋을거야. –
@Martinho 답변은 이미 받아 들여졌고 여전히 커뮤니티 위키가 아니므로 모든 희망은 없어 졌다고 생각합니다. :) – bzlm