차례:
정의-확인되지 않은 연산자 란 무엇입니까?
C #에서 검사되지 않은 연산자는 식 및 변환 평가 중에 오버플로 검사를 비활성화하는 데 사용되는 연산자입니다.
숫자 데이터 유형을 포함하는 표현식을 사용하여 정수 유형 산술 연산을 수행하는 동안 연산 결과가 너무 커서 해당 유형을 기반으로 특정 비트 수로 할당 된 수로 표시하기에는 오버 플로우 예외가 발생할 수 있습니다. 오버플로가 허용 가능한 연산 결과 인 경우 예외를 억제하고 프로그램을 계속해야합니다. 검사되지 않은 연산자는 결과가 잘린 상태에서 산술 오버플로가 무시되는 검사되지 않은 컨텍스트를 설정하여 이러한 시나리오에서 사용됩니다.
오버플로 가능성을 무시하는 C / C ++와 달리 C #은 검사 및 검사되지 않은 연산자를 제공하여 오버플로를 처리하거나 무시하는 기능을 제공합니다. 확인되지 않은 연산자는 종종 확인 된 컨텍스트로 컴파일 된 프로젝트 섹션에서 사용됩니다. 확인되지 않은 연산자를 사용할 수있는 일부 알고리즘에는 체크섬, 암호화 논리 및 난수 생성이 포함됩니다.
Techopedia는 확인되지 않은 연산자를 설명합니다
확인되지 않은 연산자는 표현식에서 키워드 "확인되지 않음"과 함께 사용되며 코드 블록의 명령문으로 사용됩니다. 정수 오버플로 발생시 결과의 최상위 비트가 삭제되고 실행이 계속되는 실행 컨텍스트를 설정합니다. 검사되지 않은 컨텍스트는 "검사되지 않은"명령문으로 묶인 명령문에 적용 가능하며 중첩 된 함수 호출에는 적용되지 않습니다.
예를 들어, 두 개의 큰 정수 데이터 유형의 곱이 오버 플로우 발생을 점검 할 필요없이 어떤 목적으로 short를 사용해야하는 경우, 점검되지 않은 연산자를 사용할 수 있습니다.
일반적으로 상수 용어가 포함 된 표현식은 컴파일 타임 동안 오버플로만 검사 할 수 있습니다. 검사되지 않은 연산자를 사용하면 이러한 표현식에서 오버 플로우를 검사하지 않고 런타임 및 컴파일 시간에 기본적으로 선택되지 않은 상수가 포함 된 표현식에 사용할 수 있습니다.
확인되지 않은 연산자는 오버로드 될 수 없습니다.
확인되지 않은 연산자를 사용하면 성능이 저하되므로 오버플로로 인해 문제가 발생하지 않는 경우에만 사용해야합니다.
이 정의는 C #의 맥락에서 작성되었습니다.