代码如下
using System;
using System.Collections.Generic;
using System.Linq;
using System.Linq.Expressions;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace new操作符
{
internal class Program
{
static void Main(string[] args)
{
var x = 100;
Console.WriteLine(x.GetType().Name);
var Y = 100D;
Console.WriteLine(Y.GetType().Name);
var z = 100L;
Console.WriteLine(z.GetType().Name);
var c = 100.0;
Console.WriteLine(c.GetType().Name);
#if false
Form myForm = new Form() {Text = "hello", FormBorderStyle = FormBorderStyle.SizableToolWindow };
myForm.ShowDialog();
new Form() { Text = "hello2" }.ShowDialog();
#endif
int[] myArray = new int[10];
int[] myArray2 = { 1, 2, 3, 4 };
Console.WriteLine(" ");
Console.WriteLine(" 以下内容为学习 var 隐式类型变量声明 的关键字");
var person = new { Name = "Mr.Okay", Age = 34 };
Console.WriteLine(person.Name);
Console.WriteLine(person.Age);
Console.WriteLine(person.GetType());
Console.WriteLine(person.GetType().Name);
Console.WriteLine(person.Age.GetType().Name);
Console.WriteLine(" ");
Console.WriteLine(" 以下内容为学习checked 与unchecked关键字");
uint myX = uint.MaxValue;
Console.WriteLine(myX);
Console.WriteLine(Convert.ToString(myX, 2));
uint myY = myX + 1;
Console.WriteLine("以下打印未检查,导出输出溢出");
Console.WriteLine(myY);
try
{
Console.WriteLine("以下再次打印未检查,导出输出溢出");
uint myC = unchecked(myX + 1);
Console.WriteLine(myC);
}
catch (OverflowException ex)
{
Console.WriteLine("there's overflow");
}
checked
{
Console.WriteLine("----myA----");
uint myA = 0;
try
{
myA = myX + 1;
Console.WriteLine(myA);
}
catch (OverflowException ex)
{
Console.WriteLine("以下证明,上面的try中溢出,没有进行赋值");
Console.WriteLine(myA);
Console.WriteLine("myA overflow");
}
}
Console.WriteLine("------------------------结束------------------");
}
}
}
结果

总结
# 总结
checked:
启用算术操作的溢出检查。
当发生溢出时,抛出 OverflowException。
try-catch:
捕获异常并提供处理逻辑,避免程序直接崩溃。
输出逻辑:
发生异常时,try 块剩余代码不会执行,控制权转移到 catch 块。
在实际开发中,使用 checked 通常适用于需要严格保证数值计算范围的场景,比如金融计算或精确的数学操作。