c# - C# 分配列表.Count 减一到整数不起作用
问题描述
以下代码行让我感到困惑:
int durationEventsCountMinusOne = (durationEvents.Count - 1);
等于durationEvents.Count
1。因此我假设 durationEventsCountMinusOne 将变为 0,但它保持为 1。我首先在 for 语句的初始化程序中有这段代码。
我使用了 Visual Studio 调试器,但找不到它为什么会这样工作。当我将鼠标悬停-1
在调试时,它显示为 0;它只是没有分配给整数。
我正在使用的代码,省略了一些代码
List<IEvent> durationEvents = new List<IEvent>();
while (currentEvent != null && currentEvent.Time <= (currentCalculation * secondsBetweenCalculations) / 60)
{
// This runs once, because there is only one event in schedule.
durationEvents.Add(currentEvent);
currentEvent = Schedule.schedule.GetNextEvent();
}
// here durationEvents.Count is equal to 1, but using minus 1 behind it does not assign 0 to the durationEventsMinusOne
int durationEventsCountMinusOne = (durationEvents.Count-1);
for (int durationEventIndex = durationEvents.Count-1; durationEventIndex >= 0; durationEventIndex--)
{
do stuff with duration event
}
编辑 相同的代码库适用于 Visual Studio Code,而不是 Visual Studio Community 2019
解决方案
不要尝试在 VS 调试器中调试代码。尝试在执行语句之前和之后添加调试打印。这将向您展示真实的图片。添加 Console.WriteLine(...) 如果您的应用程序是控制台应用程序,如果不是,添加 Debug.Print(...) 根据我的经验,您会在查看打印输出后立即看到问题
列表持续时间事件 = 新列表();while (currentEvent != null && currentEvent.Time <= (currentCalculation * secondsBetweenCalculations) / 60) { // 运行一次,因为调度中只有一个事件。durationEvents.Add(currentEvent); currentEvent = Schedule.schedule.GetNextEvent(); }
// here durationEvents.Count is equal to 1, but using minus 1 behind it does not assign 0 to the durationEventsMinusOne
Console.WriteLine(durationEvents.Count);
Console.WriteLine(durationEvents.Count - 1);
int durationEventsCountMinusOne = (durationEvents.Count-1);
Console.WriteLine(durationEventsCountMinusOne);
for (int durationEventIndex = durationEvents.Count-1; durationEventIndex >= 0; durationEventIndex--)
{
do stuff with duration event
}
推荐阅读
- excel - 将宏 OnKey-Assignment 重置为默认值不适用于录制的宏
- python - 如何从python中的列表列表中创建字典列表?
- java - 我无法安装 JDK 12 (Java SE12) 没有可下载的源
- xaml - UWP 用户控件在 Xaml 岛中工作是否存在某种代码大小限制?(退出代码 0xc000027b)
- amazon-web-services - AWS Glue - 将列更改为类型数组或结构
- apify - injectFile 方法的survivalNavigations 选项的问题
- javascript - 发出需要打印的传递值
- postgresql - 欧洲废物目录代码的父/树参照完整性检查
- html - 如何使用 CSS 在 Ionic ion-segment-button 中使图标和文本彼此并排?
- sql - 将 JSON 数据提取到简单的列中