c# - 编译器错误 CS1023

标签 c#

<分区>

我的代码无法编译并出现此错误:

Embedded statement cannot be a declaration or labeled statement

这不编译:

for (int i = 0; i < 10; i++)            
    DateTime xs = DateTime.Now;

但这确实:

for (int i = 0; i < 10; i++)
{
    DateTime xs = DateTime.Now;
}      

MSDN只解释事实,但不解释原因

最佳答案

这是因为首先您要声明一个无法读取的变量。变量的范围是单个嵌入语句。因此,在该语句中声明变量是荒谬的。

第二种情况,变量的作用域是一个 block , block 中可以包含其他语句。因此可以使用该变量。

关于c# - 编译器错误 CS1023,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36078437/

相关文章:

c# - 如果在 Set() 之后立即调用 Reset(),则 ManualResetEvent.WaitOne() 不会返回

c# - 协方差和 IList

c# - 从 Outlook 将所有联系人导出为 vcards

c# - 需要帮助使用 .Net 技术制作试用版产品

c# - 实现 Entity Framework 6 添加或更新方法的最简单方法是什么

c# - Spark View Engine Html.TextArea 错误?

c# - 工厂模式 : Determining concrete factory class instantiation?

c# - 将 Action<T> 转换为 Action<object>

c# - 在不安装 .NET Framework 的情况下在 Windows XP 中运行 C# Windows 应用程序

c# - 对 IIS 的单个 Web 请求是否停留在单个线程上?