如果我们不确定要存储在变量中的值的类型,该怎么办?在 C# 中该如何处理?
csharpserver side programmingprogramming更新于 2025/10/2 13:22:17
由于 C# 是强类型语言,每个变量和常量都有预定义的类型。在使用任何变量之前,我们必须告知编译器该变量将存储什么类型的值。
如果我们不确定类型,可以使用动态编程来处理。dynamic 关键字支持动态编程。
dynamic 关键字用于声明动态类型。动态类型会告知编译器该对象被定义为动态类型,并在编译时跳过类型检查,将类型检查延迟到运行时进行。所有语法都会在运行时进行检查并抛出错误。
示例
using System;
namespace DemoDynamicKeyword{
class Program{
static void Main(string[] args){
dynamic MyDynamicVar = 100;
Console.WriteLine("Value: {0}, Type: {1}", MyDynamicVar, MyDynamicVar.GetType());
MyDynamicVar = "Hello World!!";
Console.WriteLine("Value: {0}, Type: {1}", MyDynamicVar, MyDynamicVar.GetType());
MyDynamicVar = true;
Console.WriteLine("Value: {0}, Type: {1}", MyDynamicVar, MyDynamicVar.GetType());
MyDynamicVar = DateTime.Now;
Console.WriteLine("Value: {0}, Type: {1}", MyDynamicVar, MyDynamicVar.GetType());
}
}
}
输出
上述示例的输出如下。
Value: 100, Type: System.Int32 Value: Hello World!!, Type: System.String Value: True, Type: System.Boolean Value: 01-01-2014, Type: System.DateTime

