是否可以:在 1 行代码内将索引增加 1 并回绕到 0 if(index > list.Count) ?

2024-01-03

我现在正在做什么:

index++;
index %= list.Count;

我想将它们合并到 1 个快速行中,例如:

++index %= list.Count;

但编译器不允许我这样做。

我会很高兴知道:

  1. 是否可以将这 2 行合并为 1 行,快速、易于阅读?
  2. 解释为什么我所做的不起作用,IIRC 我过去一直在 C/C++ 中这样做

谢谢你的时间!


I'd be slightly如果第一个版本可以在 C 或 C++ 中运行,我会感到惊讶,但它确实经常让我感到惊讶。它在 C# 中不起作用的原因是%=运算符必须是变量,并且表达式++index不属于变量 - 它是value.

无论如何,我不会称其为“易于阅读”的行。什么is很容易理解的是:

index = (index + 1) % list.Count;

根本不需要复合赋值运算符。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

是否可以:在 1 行代码内将索引增加 1 并回绕到 0 if(index > list.Count) ? 的相关文章

  • C#中如何检测字符串是否为货币

    通常当我需要转换时currency string 如 1200 55 z 或 1 249 到十进制值我这样做 if currencyString Contains z decimal value Decimal Parse dataToCh
  • 高级 Win32 图像文件 I/O?

    我想在 Windows C 应用程序中将图像文件读入内存 什么是一个相当简单的解决方案 也许类似于 IOS 提供的UIImage 我希望支持合理数量的文件格式 我需要为图像处理的位图提供一些低级访问权限 我在互联网上阅读了很多内容 看起来
  • boost线程在中断时不打印退出消息

    我有这段代码用于执行三个线程 其中第二个线程应在按 Enter 时中断并打印退出消息 void input val DO STUFF return void process val DO STUFF try cout lt lt waiti
  • 使用 C# 使用应用程序密码登录 Office 365 SMTP

    在我们的 Office 365 公司帐户中实施两步身份验证之前 我的 C WPF 程序已成功进行身份验证并发送邮件 我使用了 SmtpClient 库 但现在我必须找到另一个解决方案 因为它不再起作用 我找不到任何使用 O365 应用程序密
  • Linq Where 本地计数器关闭在 VS watch 中的结果不同

    我尝试删除前 3 个元素array与 LinQWhere扩展功能 这是一个例子 var array new 1 2 3 4 5 6 7 8 9 var count 3 var deletedTest1 0 var test1 array W
  • 字节到二进制字符串 C# - 显示所有 8 位数字

    我想在文本框中显示一个字节 现在我正在使用 Convert ToString MyVeryOwnByte 2 但是 当字节开头有 0 时 这些 0 就会被删除 例子 MyVeryOwnByte 00001110 Texbox shows g
  • Qt中正确的线程方式

    我的图像加载非常耗时 图像很大 并且在加载时也完成了一些操作 我不想阻止应用程序 GUI 我的想法是在另一个线程中加载图像 发出图像已加载的信号 然后用该图像重绘视图 我的做法 void Window loadImage ImageLoad
  • 成员初始值设定项列表中的求值顺序是什么?

    我有一个带有一些参数的构造函数 我假设它们是按照列出的顺序初始化的 但在一种情况下 它们似乎是按相反的顺序初始化的 导致中止 当我反转参数时 程序停止中止 下面是我正在使用的语法的示例 a 之前需要初始化b 在这种情况下 你能保证这个初始化
  • 推送 Lua 表

    我已经创建了一个Lua表C 但我不知道如何将该表推入堆栈顶部 以便我可以将其传递给 Lua 函数 有谁知道如何做到这一点 这是我当前的代码 lua createtable state libraries size 0 int table i
  • _mm_max_ss 在 clang 和 gcc 之间有不同的行为

    我正在尝试使用 clang 和 gcc 交叉编译一个项目 但在使用时发现一些奇怪的差异 mm max ss e g m128 a mm set ss std numeric limits
  • C#:如何使用 SHOpenFolderAndSelectItems [重复]

    这个问题在这里已经有答案了 有人可以举例说明如何使用 shell 函数吗SH打开文件夹并选择项目 http msdn microsoft com en us library bb762232 VS 85 aspx来自 C 我不太明白如何使用
  • 标准 C 中的 sizeof 与 sizeof()? [复制]

    这个问题在这里已经有答案了 我看到一些直接使用 sizeof 的代码 想知道它是否是标准 C 令我惊讶的是 它运行得很好 这是一个例子 include
  • 使用 AutoMapper 进行 LINQ GroupBy 聚合

    试图让查询工作 但老实说不确定如何 或者是否可能 进行它 因为我尝试过的一切都不起作用 共查询6个表 Person PersonVote PersonCategory Category City FirstAdminDivision Per
  • 为什么 C 函数不能返回数组类型?

    我是 C 语言新手 想知道 为什么 C 函数不能返回数组类型 我知道数组名是数组第一个值的地址 而数组是 C 中的二等公民 您自己已经回答了这个问题 数组是二等公民 C 按值返回 数组不能按值传递 因此不能返回它们 至于为什么数组不能按值传
  • 如何使用 Clang 查找内存泄漏

    我在我的机器 ubuntu 中安装了 Clang 以便发现我的 C 代码中的内存泄漏 我编写了一个示例代码来检查它的工作情况 如下所示 File hello c for leak detection include
  • 如何从枚举中选择随机值?

    给定 C 中的任意枚举 如何选择随机值 我没有找到这个非常基本的问题 我会在一分钟内发布我的答案作为任何人的参考 但请随意发布你自己的答案 Array values Enum GetValues typeof Bar Random rand
  • 在 MVVM 中,可以在视图后面的代码中访问 ViewModel 吗?

    在 MVVM 模式中 是否可以接受甚至可以访问视图代码后面的 ViewModel 属性 我有一个可观察的集合 它填充在 ViewModel 中 我需要在视图中使用它来绑定到带有链接列表的无限滚动条 IE private LinkedList
  • 如何使复选框不可选择?

    我想知道你是怎么做的CheckBox在c 中无法选择 我认为这会是类似 SetSelectable false 之类的东西 但我似乎看不到该方法 I found CanSelect但这似乎是只读属性 您可以设置自动检查 http msdn
  • 如何仅更改 DateTime 的日期部分,同时保留时间部分?

    我在代码中使用了很多 DateTime 我想将这些日期时间更改为我的特定日期并保留 时间 1 2012 02 02 06 00 00 gt 2015 12 12 06 00 00 2 2013 02 02 12 00 00 gt 2015
  • ASP.NET Core:会话 ID 始终变化

    今天启动了一个全新的 ASP NET Core 网站 按照说明添加会话 我们在索引页上打印出会话 ID 它始终是唯一的 我认为这可能是 cookie 合规性 所以我在 Chrome 的高级设置和调试器中删除了所有 cookie 但横幅不会再

随机推荐

  • RequireJS:如何定义包含单个“类”的模块?

    我有许多 JavaScript 类 每个类都在自己的 JavaScript 文件中实现 对于开发 这些文件是单独加载的 对于生产 它们是串联的 但在这两种情况下 我都必须手动定义加载顺序 确保如果 B 使用 A 则 B 在 A 之后 我打算
  • Ninject 属性注入返回 null

    我有一个 WinForms 应用程序 代码如下 static void Main IKernel kernel new StandardKernel new MyModule TestInterface test kernel Get
  • 解析具有同名子节点的 XML 文件

    我有一个 XML 文件 下面是简要版本
  • 如何在双击时动态隐藏AppBar?

    我想在容器上的 DoubleTap 上动态隐藏和显示应用程序栏 并带有一些隐藏动画 但此链接中的解决方案不适用于我的项目 Flutter 如何在页面上动态显示或隐藏应用程序栏 https stackoverflow com question
  • 重构静态方法/静态字段以进行测试

    我有以下遗留代码 public class MyLegacyClass private static final String jndiName java comp env jdbc LegacyDataSource public stat
  • GWT 中会话超时的鼠标移动

    我正在研究 GWT 在我的应用程序中 我想在 2 分钟后未执行任何操作 包括鼠标事件 时添加会话超时 我编写了一个类 其中使用了 GWT 会话对象 public static boolean ValidSession HttpSession
  • 如何将用户凭据从控制台传递到 SharePoint Online?

    我正在尝试使用控制台可执行文件中的上下文令牌连接 SharePoint 2013 Online 网站 但是 它给了我错误The remote server returned an error 403 Forbidden 这是代码片段 str
  • 为什么使用 Xamarin 的 MobileServiceClient 单点触控实现的流量未显示在 Fidder/Charles 中

    这可能与以下问题相同 使用 MonoTouch HttpClient 和 Charles 代理时的 HTTP 流量监控问题 https stackoverflow com questions 23492126 http traffic mo
  • 如何让测试资源管理器适用于 Python VS Code?

    我最近安装了 VSCode 和它的 python 扩展 一切都很顺利 但测试资源管理器不会填充测试 我已经运行了测试发现 甚至可以运行测试 但资源管理器不会填充任何信息 在上面的截图中我们可以看到 空的测试资源管理器 我的 python v
  • 在node.js和socket.io中发送数组时的错误

    我使用socket io版本0 8 4 我将我的问题归结为以下几点 我的数据看起来像这样 data prop1 data prop1 push man data prop2 data prop2 hey man 我通过以下方式将数据从服务器
  • 为 Log4j2 配置 Grails 3

    我们想使用 Log4j2 作为与 grails 3 的日志绑定 从目前我能了解到的情况来看 我们有许多使用各种记录器的从属依赖项 因此我们需要使用 SLF4J API 然后 我们需要将每个 API 重新定向到 Log4j2 绑定 而不是让
  • Kinect 编程的要求

    我希望使用 Kinect ToF 摄像头进行编程 但我不确定这样做的硬件和软件要求 我读过很多涉及这个主题的文章 书籍 但似乎存在一些不一致之处 让我有些困惑 问题 我需要购买什么 Kinect 产品才能确保拥有在计算机上使用它进行软件开发
  • 使用带有 SSL 的 ODBC (5.1) 连接 MySQL

    我们有一个客户端应用程序 通过 ODBC 连接器 服务器是托管 专用网络服务器 连接到我们的在线 MySQL 数据库 5 1 44 community log 这效果非常好 但是我无法使用 SSL 让它工作 这是我到目前为止所做的 1 My
  • 如何创建纯解决方案级 NuGet 包

    我想创建并分发一个 NuGet 包 安装后仅将整个解决方案安装到根目录packages 文件夹 引用中的包 NuGet packages config file 我已经找到了一些有关该主题的 NuGet 包格式的信息 并且根据NuGet 常
  • 将 Gradle 模块包含到 Maven 项目中

    我们有一个使用 Maven 作为构建系统的大型项目 我们决定在未来的项目中将使用 Gradle 作为更方便的工具 但我们也希望将 Gradle 用于我们的遗留项目 我认为从 Maven 迁移到 Gradle 会非常痛苦 因为 POM 文件中
  • 如何从tinyMCE禁用HTML标签

    https www dropbox com s g2nry5ifx0x9v52 2013 12 20 2011 20 26 Ingage 20Admin 20Panel png https www dropbox com s g2nry5i
  • CoreData:仅获取最后一个元素,而不是全部(iPhone)

    Welcome 我使用 Core Data 来存储数据 我需要这样一个方法 它只返回实体的最后 7 个元素 我的问题是我应该如何修改这段代码 它获取所有元素 但我只需要最后 7 个 NSEntityDescription entity NS
  • 如何从 shell/bash 脚本中更改 Linux 上的桌面壁纸

    我想从 shell bash 脚本更改 Linux 上的壁纸 使用其完整路径更改为特定文件 我已经找到了几种方法 见下文 来做到这一点 但这些方法并不适用于所有桌面环境 a 使用 gnome settings daemon gsetting
  • 在react-router中调用getComponent时如何显示加载UI?

    我对 React 很陌生 我不知道如何在使用 getComponent 加载路由时呈现 正在加载 屏幕 getComponent 调用工作正常并显示组件 但 UI 上没有任何迹象表明请求和响应之间发生了任何情况 这就是我想弄清楚的 impo
  • 是否可以:在 1 行代码内将索引增加 1 并回绕到 0 if(index > list.Count) ?

    我现在正在做什么 index index list Count 我想将它们合并到 1 个快速行中 例如 index list Count 但编译器不允许我这样做 我会很高兴知道 是否可以将这 2 行合并为 1 行 快速 易于阅读 解释为什么