이전에 코드에서 상수 및 상수를 보았지만이를 사용하기에 적절한 시점과 위치는 언제입니까? 내가 본 프로그램을 사용하는 다른 방법을 볼 수 있습니까? 어느 누구도 저에게 한 번도 사용한 적이없는 진정한 이익을 말해 줄 수 있습니까?C# 상수 및 대리자
답변
참석자는 수업에 일정을 추가하거나 비동기적인 활동을하는 경우 절대적으로 필요합니다 (대리인을 추가해야하는 다른 여러 가지 이유가 있습니다). 이점은 매우 유연한 접근 방식이라는 것입니다.
상수는 "매직 넘버"방지에 도움이됩니다. Aka는 의미 론적으로 동일한 상수 데이터를 지정할 수있는 중심적인 위치를 제공합니다. 그들의 이익은 절대적으로 성능이나 메모리 오버 헤드가 발생하지 않는다는 것입니다.
상수는 pi (3.14159 ...)와 같은 값에 사용해야합니다. 을 사용하면 코드가 현명하게 읽는 것을 의미한다 :
이double circumference = radius * 2.0 * PI;
그것은 또한 일정 변경의 값이 (! 분명하지 PI를위한) 다음은 한 곳에서 코드를 변경해야하는 경우 있음을 의미한다.
내가, 당신이 요구하지 않더라도, C#으로 const
와 readonly
의 차이를 강조하고 싶습니다이 중요 할 수 있습니다
const
변수는 컴파일 할 때 리터럴 값으로 대체됩니다. 즉, 값을 변경하면 (예 :PI
에 자릿수를 추가하거나MAX_PROCESSORS
을 늘릴 수 있음) 다른 구성 요소는이 상수를 사용하면 새 값을 볼 수 없습니다.readonly
변수는 변경할 수 없지만 컴파일 할 때 리터럴 값으로 대체되지 않습니다. 참조를 업데이트하면 응용 프로그램의 다른 구성 요소가 즉시이 업데이트를 볼 수 있으므로 다시 컴파일 할 필요가 없습니다.
이 차이는 미묘하지만 버그를 미묘하게 소개 할 수 있기 때문에 매우 중요합니다. 여기서 교훈은 다음과 같습니다. 만 사용하면 절대 값이 변하지 않을 것이라고 확신 할 때 readonly
을 사용하십시오.
대리인은 메서드 호출의 자리 표시 자 (청사진, 서명)입니다. 나는 그들을 의 인터페이스 선언 인으로 간주한다. 대리자 변수는 대리자 형식입니다. 메소드 인 것처럼 사용할 수 있습니다 (아직 동일한 메소드 서명의 다른 구현을 가리킬 수 있음).
대표 : http://www.akadia.com/services/dotnet_delegates_and_events.html
상수 : 컴파일 시간 상수와 런타임 상수 : C#에서 사용할 수 상수의 두 가지 유형이 있습니다 . 그들에는 다른 행동이 있고 틀린 것을 사용하면 당신에게 성과 또는 정확성을 요할 것이다. 프로젝트에 사용중인 적절한 상수 유형을 선택하십시오.
http://dotnetacademy.blogspot.com/2011/09/constants-in-net.html
- 1. 대리자 및 상속 C#
- 2. 상수 및 Objective-C 정의
- 3. 목표 C : 여러 대리자
- 4. C# 대리자 및 이벤트 디자인 도움말
- 5. 객관적인 C 용어 : 콘센트 및 대리자
- 6. C# 내부 대리자 및 공개 이벤트
- 7. Visual C# 대리자 배열
- 8. C# 대리자 최적화 컴파일
- 9. C#의 익명 대리자
- 10. C# - 익명 대리자
- 11. 익명 메서드 및 대리자
- 12. 대리자 및 여러 메서드
- 13. 대리자 및 콜백
- 14. C++의 상수 및 컴파일러 최적화
- 15. C++ 및 구분 기호 파일의 상수 초기화
- 16. C++ 문자열 상수 및 정적 변수 초기화
- 17. 목록 C 상수/매크로
- 18. 상수 및 주석
- 19. C# 프로그램에서 C++ 상수 사용
- 20. C#의 정적 상수
- 21. C++ 스레드 수준 상수
- 22. C++ 최종 상수 문자열
- 23. VB.NET API 대리자 및 이벤트
- 24. C#에서 대리자 구문의 문제점
- 25. 루프 내 익명의 C# 대리자
- 26. C# 대리자, 참조 해결 시간
- 27. C# 대리자/이벤트 처리 정보
- 28. C#의 제한된 일반 대리자
- 29. NSXMLParser 및 오류 상수
- 30. 상수 및 aspx
대리인과 상수에 대해 별도로 질문 할 가치가 있습니다. 이것은 다소 독립적 인 개념이기 때문에 대답하기가 어렵습니다. – Chris
상수에 대한 다른 방법 : 값을 직접 사용 (코드를 이해하기에 좋지 않음)하고, 대리인을위한 다른 방법은 없습니다. – Abel