c# - 不可预测的语言行为 i++

标签 c# .net post-increment pre-increment

我尝试执行以下操作

i=0;
if (i++ % Max_Col_items == 0 && i !=0)
{

}

发现中间增加了i

i % Max_Col_items == 0;
i=i+1;
i !=0;

当我认为最后会增加 i 时:

i % Max_Col_items == 0;
i !=0;
i=i+1;

任何人都可以找到有关 i++ 在 C# 中如何工作的解释吗?

最佳答案

i++ 将为您提供原始值,而不是增量值,您将在下次使用 i 时看到变化。如果您想获得递增的值,请使用++i

查看Eric Lippert on the same issue的详细回答

关于c# - 不可预测的语言行为 i++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13681386/

相关文章:

c# - Entity Framework + SQL Server Compact + WPF/WinForms = 缓慢的 UI?

使用 LINQ 查询的 C# 锁

swift -++ 后增量运算符的替代方案?

c - C 中的后递增运算符

c# - 在 ASP.NET Core 3.1 Web 应用程序中获取 "Unrecognized SameSiteMode value -1"InvalidOperationException

C# wpf 列表框显示多个成员路径

c# - AllowTransparency 使过扫描最大化

.Net 应用程序在配置更改时自动重启

c# - 数学题 : Determine the corner radius of an inner border based on outer corner radius/thickness

C编程运算符