首页 > 解决方案 > FOR循环初始化中的多个语句

问题描述

我需要同时在 for 循环开始时声明i和重新初始化j。然而,

int j;
for (int i = 0, j = 0; true;) { // Do sth }

说:不能在此范围内声明名为“j”的本地或参数,因为该名称在封闭的本地范围中用于定义本地参数。

int j;
for (j = 0, int i = 0; true;) { // Do sth }

说:无效的表达式术语“int”

有没有办法做到这一点?任何知识都值得赞赏。

注意 1:我知道要j = 0在声明之前放上,这不是我想要的。

注2:以下所有作品。

int i, j;
for (i = 0, j = 0; true;) { // Do sth }

.

for (int i = 0, int j = 0; true;) { // Do sth }

.

int i;
for (Foo(), i = 0; true;) { // Do sth }

标签: c#

解决方案


您的问题是,这一行(如果在 for 循环之外使用):int i = 0, j = 0;int i = 0; int j = 0. 但是,您仍然可以这样做:

int j;
for (int i = j = 0; true;) { // Do sth }

推荐阅读