C# 中隐式和显式类型转换之间的差异是什么?


以下是对隐式类型转换和显式类型转换之间的差异 −

隐式类型转换

这些转换由 C# 以类型安全的方式执行。

为了理解这个概念,让我们隐式地将 int 转换为 long。

int val1 = 11000;
int val2 = 35600;
long sum;

sum = val1 + val2;

上面,我们有两个整数变量,当我们在一个 long 变量中对其求和时,它不会显示错误。因为编译器会自行进行隐式转换。

我们现在打印这些值。

示例

using System;
using System.IO;

namespace Demo {
   class Program {
      static void Main(string[] args) {
         int val1 =34567;
         int val2 =56743;
         long sum;

         sum = val1 + val2;

         Console.WriteLine("Sum= " + sum);

         Console.ReadLine();
      }
   }
}

显式类型转换

这些转换由用户使用预定义函数显式执行。

让我们看一个将 double 类型转换为 int 类型 −

示例

using System;

namespace Program {
   class Demo {
      static void Main(string[] args) {
         double d = 1234.89;
         int i;

         // cast double to int.
         i = (int)d;
         Console.WriteLine(i);
         Console.ReadKey();
      }
   }
}

更新日期: 21-Jun-2020

794 人浏览

开启您的职业生涯

完成课程以获得认证

开始学习
广告