【发布时间】:2010-11-16 19:28:45
【问题描述】:
我该怎么做? (c#) 基本上,我希望能够将括号注释掉。但不是真的。我想我想不按顺序关闭括号。那可能是不可能的。我显然可以在完全独立的 if 子句中实现这一点,但这会大大减轻我的代码。
PS:我正在尝试将“//做某事”代码放置在 foreach 循环中,或者用于具有无关(与 foreach 循环的)参数的单个实例,视情况而定。我希望这有助于清除它。
伪代码(我正在尝试做的事情,如果你可以不按顺序关闭括号):
我知道这不是有效代码,它是我所说的伪代码。
我还没有看第二个帖子,但是第一个帖子(Sean Bright),谢谢,但条件与条目数无关(目录中总会有文件,无论我是否想要循环执行)
将 //dosomething 代码提取到函数中会起作用。我不知道我是怎么忽略的。我想我想知道是否有更简单的方法,但你是对的。谢谢。
if (isTrue)
{
//START LOOP
string [] fileEntries = Directory.GetFiles(LogsDirectory, SystemLogFormat);
foreach(string fileName in fileEntries)
{
using (StreamReader r = new StreamReader(fileName))
{
/* The previous two blocks are not closed */
}
else
{
using (StreamReader r = new StreamReader(SingleFileName))
{
/* The previous block is not closed */
}
// do all sorts of things
if (isTrue)
{
/* Close the two unclosed blocks above */
}
}
}
else
{
/* Close the unclosed block above */
}
}
谢谢!
(缩进很奇怪,抱歉,这是论坛做的)
【问题讨论】:
-
好吧,你把我弄丢了
-
“有点,注释掉一个括号”是什么意思?你到底想让你的代码做什么?我可以告诉你,“注释掉一个括号”或括号不匹配是行不通的(因为编译器会阻塞),但我们需要更多信息来解决你遇到的问题。
-
该伪代码是您正在尝试执行的操作的示例,还是您要解析的代码类型的示例?
-
我试图编辑大括号,却发现它在语法上有效的代码附近没有。您的 using 语句中的第一项是不匹配的
else。 -
你想做什么?读取目录中的所有文件?
标签: c# loops conditional