gpt4 book ai didi

c#-4.0 - C# for-loop 循环表达式语法

转载 作者:行者123 更新时间:2023-12-03 01:40:09 26 4
gpt4 key购买 nike

我有一个关于 C# 中 for 循环的循环表达式的好问题。

我总是喜欢学习和扩展我的知识,所以我经常使用我的反射镜来观察并向他人学习。最近我在查看一个程序集,我认为它是一个 C# 程序集。

我遇到了这个:

public virtual void DoRows(Parse rows)
{
for (; rows != null; {
Parse more;
rows = more;
}
)
{
more = rows.More;
this.DoRow(rows);
}
}

我从来不知道我可以在循环表达式中使用代码块。于是我打开 MSDN 去查找 C# 语言引用,但一无所获。

C++ 引用显示了一些有趣的事情(http://msdn.microsoft.com/en-us/library/b80153d8.aspx),但我不是 C++ 开发人员,我有一种强烈的感觉,汇编不是用 C++ 编写。

dotPeek 表示该程序集是 v4.0.30319/msil 程序集。

现在问题如下: - 这是 C++ 还是 C# 代码构造?! - 我们可以在 C# 中做这样的事情吗?

我无法重现类似的代码并在 VS2010 中编译。

@edit:更改了代码构造中的“汇编”一词。

@edit II:感谢您的所有回答。我认为这要么是 dotPeek 反射器中的错误,要么是我们发现了一些 for 循环表达式的复活节彩蛋。这是 Red Gate 对相同方法的说法:

public virtual void DoRows(Parse rows)
{
while (rows != null)
{
Parse more = rows.More;
this.DoRow(rows);
rows = more;
}
}

最佳答案

不存在 C++ 或 C# 程序集之类的东西。一旦代码被编译,它就是ILCode。反射器获取此 ILCode 并将其反编译为您选择的语言。

这可能会导致代码在 ILCode 中有效,但在目标语言中无效。

关于c#-4.0 - C# for-loop 循环表达式语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11227258/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com