C# 확인됨

王林
王林원래의
2024-09-03 15:16:511072검색

산술에서 정수형 연산 및 변환에 대한 오버플로를 명시적으로 확인하려면 산술에서 정수형 연산 및 변환에 대해 오버플로 검사를 활성화해야 하며 이는 C#에서 selected 키워드라는 키워드를 사용하고 selected를 사용하여 가능합니다. C#에서 표현식에 대한 키워드인 상수 표현식은 런타임 중에 오버플로가 있는지 확인하고, 오버플로가 있으면 컴파일러에서 오버플로 예외를 발생시키는 반면 상수가 아닌 표현식은 사용에도 불구하고 런타임 동안 오버플로를 확인하지 않습니다. check 키워드 및 오버플로 등의 경우에는 예외가 발생하지 않습니다.

 checked 키워드 C#의 구문은 다음과 같습니다.

checked(Expression)

C#에서 체크된 키워드 작업

  • 숫자가 오버플로될 때마다 해당 숫자의 값이 무효화됩니다. 결과적으로 예외가 발생하지 않습니다.
  • 숫자가 넘칠 때마다 예외가 발생하도록 하려면 selected 키워드를 사용합니다.
  • 값이 오버플로되는 표현식에 selected 키워드를 사용할 때마다 예외가 발생합니다.
  • 오버플로된 값에 대해 발생하는 예외가 있으므로 예외를 catch하면 오류를 피할 수 있습니다. 결과적으로 결과물의 품질도 좋을 것 같습니다.
  • C# 프로그램에서 selected 키워드 사용을 보여주기 위해 아래 프로그램을 고려하세요.

코드:

//a namespace called check is defined
namespace check
{
//a class called space is defined
public class space
{
//main method is called
public static void Main()
{
// Using checked keyword to check if the value is over flowing
checked
{
// Increasing the value upto the value of maximum
int number = 0;
for (int x = 0; x < int.MaxValue; x++)
{
number++;
}
// Increasing the value upto the value of maximum again (error).
for (int x = 0; x < int.MaxValue; x++)
{
number++;
}
}
}
}
}

출력:

C# 확인됨

위 프로그램에는 check라는 네임스페이스가 정의되어 있습니다. 그런 다음 space라는 클래스가 정의됩니다. 그런 다음 기본 메서드가 호출됩니다. 그런 다음 Checked 키워드를 사용하여 최대값까지 값을 늘려서 값이 오버플로되는지 확인했습니다. 위 프로그램에서 selected 키워드를 사용하지 않으면 예외가 발생하지 않습니다. 프로그램에서 check 키워드를 사용했기 때문에 출력 스냅샷에 표시된 예외가 발생합니다. 프로그램의 selected 키워드는 컴파일러 "/checked"에서 옵션을 선택하여 활성화할 수 있습니다. 변수 번호가 메모리 위치에 맞지 않는 정수의 최대값에 도달할 때마다 1씩 증가하면 오버플로 예외가 발생합니다. 특수 중간 명령어를 사용하면 런타임 중에 오버플로 예외가 발생합니다.

확인된 C#의 예

아래에 언급된 예시는 다음과 같습니다

예시 #1

예외를 발생시키기 위해 check 키워드를 사용하는 방법을 보여주는 C# 프로그램

코드:

using System;
//a namespace called check is defined
namespace check
{
//a class called space is defined
public class space
{
//main method is called
public static void Main()
{
// Using checked keyword to check if the value is over flowing
checked
{
int twenty = 20;
int j = 2147483647 + twenty;
Console.WriteLine(j);
}
}
}
}

출력:

C# 확인됨

위 프로그램에는 check라는 네임스페이스가 정의되어 있습니다. 그런 다음 space라는 클래스가 정의됩니다. 그런 다음 기본 메서드가 호출됩니다. 그런 다음 check 키워드를 사용하여 값 20을 변수 20에 할당한 다음 이를 정수의 최대값에 추가하여 예외가 발생하도록 하여 값이 오버플로되는지 확인했습니다. 위 프로그램에서 selected 키워드를 사용하지 않으면 예외가 발생하지 않습니다. 프로그램에서 check 키워드를 사용했기 때문에 출력 스냅샷에 표시된 예외가 발생합니다. 프로그램의 selected 키워드는 컴파일러 "/checked"에서 옵션을 선택하여 활성화할 수 있습니다. 변수 20의 값이 메모리 위치에 맞지 않는 정수의 최대값에 추가되면 오버플로 예외가 발생합니다. 특수 중간 명령어를 사용하면 런타임 중에 오버플로 예외가 발생합니다.

예시 #2

예외를 발생시키기 위해 check 키워드를 사용하는 방법을 보여주는 C# 프로그램

코드:

using System;
//a class called check is defined
public class Check
{
//the maximum value of integer is assigned to a variable
static int maxInt = 2147483647;
//main method is called
public static void Main()
{
Console.WriteLine(CheckMethod());
}
static int CheckMethod()
{
int y = 0;
try
{
y = checked (maxInt + 1);
}
catch (System.OverflowException e)
{
Console.WriteLine("An overflow exception is raised because of maximum integer value " + e.ToString());
}
return y;
}
}

출력:

C# 확인됨

위 프로그램에는 Check라는 클래스가 정의되어 있습니다. 그런 다음 정수의 최대값이 maxInt 변수에 할당됩니다. 그런 다음 기본 메서드가 호출됩니다. 그런 다음 검사된 키워드 사용법으로 구성된 try-catch 블록을 사용하여 정수의 최대값에 1을 더한 검사 메서드 함수를 호출하고 catch 블록은 표시하려는 예외 문으로 구성됩니다. 위 프로그램에서 selected 키워드를 사용하지 않으면 예외가 발생하지 않습니다. 프로그램에서 check 키워드를 사용했기 때문에 출력 스냅샷에 표시된 예외가 발생합니다. 프로그램의 selected 키워드는 컴파일러 "/checked"에서 옵션을 선택하여 활성화할 수 있습니다. 변수 20의 값이 메모리 위치에 맞지 않는 정수의 최대값에 추가되면 오버플로 예외가 발생합니다. 특수 중간 명령어를 사용하면 런타임 중에 오버플로 예외가 발생합니다.

결론

이 튜토리얼에서는 정의를 통해 C#의 Checked 키워드 개념, C#의 Checked 키워드 구문, 예제를 통해 C#의 Checked 키워드 작업 및 출력을 이해합니다.

위 내용은 C# 확인됨의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
이전 기사:C# 버퍼다음 기사:C# 버퍼