当前位置: 代码迷 >> C# >> C#根本语法学习(十)
  详细解决方案

C#根本语法学习(十)

热度:223   发布时间:2016-04-28 08:20:13.0
C#基本语法学习(十)

C#数据进行显示转换时有可能会出现溢出的情况这时可以用关键字checked进行检查是否溢出:

  checked(<expression>)    检查溢出
  unchecked(<expression>)    不检查溢出

如果使用checked检查溢出,一旦溢出就会抛出System.OverflowException,同时也可以通过配置IDE来默认使能溢出检查,除非加上unchecked,否则一旦溢出就会抛出异常,配置工程默认打开溢出检查如下:

使用checked例子如下:

 1         static void Main(string[] args) 2         { 3             Int32 a = 123456; 4             Int16 b = 0; 5  6             b = checked((Int16)a); 7  8             Console.WriteLine("a = {0}\r\nb = {1}", a, b); 9 10             Console.WriteLine("Press any key to exit!");11             Console.ReadKey();12         }

运行结果:

Unhandled Exception: System.OverflowException: Arithmetic operation resulted inan overflow.   at CheckOverflow.Program.Main(String[] args) in d:\Nick\code\C#\test\CheckOverflow\CheckOverflow\Program.cs:line 16

    转换溢出抛出异常。

 

C#中使用params关键字定义可变参数方法,但必须是最后一个参数。

  static <returnType> <FunctionName>(<p1Type> <p1Name>, ...,params <type>[] <name>);

 1         //定义可变参数方法 2         static int GetSum(params int[] array) 3         { 4             int sum = 0; 5  6             foreach (int a in array) 7             { 8                 sum += a;     9             }10 11             return sum;12         }13 14         //调用15         GetSum(new int[] { 1, 2, 3, 4, 5, 6, 7, 8});16         GetSum(new int[] { 1, 2, 3, 4, 5})

 

  相关解决方案