【发布时间】:2019-07-30 01:02:34
【问题描述】:
我正在 .NET CF 3.5 环境中开发 C# Winform 应用程序。
我了解以下示例中发生了 TypeInitializationException。
static int [] ArrayB = new int [ArrayA.Length];
static int [] ArrayA = new int [] {1, 2, 3, 4};
这是因为在声明 ArrayB 时 ArrayA 为空。因此,如下图所示进行更改不会出错。
static int [] ArrayA = new int [] {1, 2, 3, 4};
static int [] ArrayB = new int [ArrayA.Length];
那么为什么下面的例子不抛出 TypeInitializationException 呢?
static int [] ArrayB = new int [len];
static int len = 4;
ArrayB 在 len 之前声明。我认为应该发生错误,因为在声明 ArrayB 时 len 尚未初始化。
但是为什么没有出现错误呢?
【问题讨论】:
标签: c# visual-studio-2008 compact-framework windows-ce .net-cf-3.5