我很想知道某些行末尾显示的代码标记(参见屏幕截图)是否在任何地方进行了解释或记录(对于 RAD Studio 10.4)。我注意到,当这些项目以单位名称为前缀时,前 3 个(for Halt、Continueand )将会消失。BreakSystem.
至于raise,我不清楚红色向上小箭头的含义或应如何解决。代码编译良好,没有错误、警告或提示。
procedure TForm1.FormCreate(Sender: TObject);
var
I: Integer;
begin
if False then Halt(99);
for I := 0 to 2 do
begin
if I = 0 then Continue;
if I = 1 then Break;
end;
try
Transaction.StartTransaction;
//update database
Transaction.Commit;
except
Transaction.Rollback;
raise;
end;
end;
Run Code Online (Sandbox Code Playgroud)
在下面的C#代码片段中,
我在while循环中有一个' foreach'循环,我希望在foreach某个条件发生时跳转到' '中的下一个项目.
foreach (string objectName in this.ObjectNames)
{
// Line to jump to when this.MoveToNextObject is true.
this.ExecuteSomeCode();
while (this.boolValue)
{
// 'continue' would jump to here.
this.ExecuteSomeMoreCode();
if (this.MoveToNextObject())
{
// What should go here to jump to next object.
}
this.ExecuteEvenMoreCode();
this.boolValue = this.ResumeWhileLoop();
}
this.ExecuteSomeOtherCode();
}
Run Code Online (Sandbox Code Playgroud)
' continue'会跳到' while'循环的开头而不是' foreach'循环.这里有一个关键字,或者我应该使用我不喜欢的goto.
当我运行这个:
use feature ':5.10';
$x=1;
given ($x) {
when(1) {
say '1';
$x = 2;
continue;
}
when (2) {
say '2';
}
}
Run Code Online (Sandbox Code Playgroud)
这应该打印1和2,但它只打印1.我错过了什么?
编辑:
我添加了$ x = 2,它仍然只打印"1"
我目前有一个类播放音频文件,但如果我将屏幕倾斜到水平或纵向,它只是重新启动.在倾斜屏幕后,如何让我的应用继续从停止的位置开始?请注意,我不希望我的应用程序被固定在纵向/水平位置.
Public void Play(){
AudioRenderer mr = new AudioRenderer();
mp = mr.AudioRenderer(filePath);
}
private class AudioRenderer extends Activity {
private MediaPlayer AudioRenderer(String filePath) {
File location = new File(filePath);
Uri path = Uri.fromFile(location);
mp= MediaPlayer.create(this, path);
}
return mp}
Run Code Online (Sandbox Code Playgroud)
非常感谢!!
如果我有一个像这样的表:
StudentId | ... | SchoolId
___________|_____|__________
1 | ... | SchoolA
2 | ... | SchoolA
3 | ... | SchoolB
...
Run Code Online (Sandbox Code Playgroud)
我想删除学校列表,从schoolA到schoolZ(使用LINQ-to-SQL):
foreach(School s in schools){
db.Schools.DeleteOnSubmit(s);
db.submitChanges();
}
Run Code Online (Sandbox Code Playgroud)
SchoolA并且SchoolB因为上面的FK引用而失败
如何继续删除所有其他学校,丢弃发生例外的学校?
我有以下代码:
switch(true)
{
case (something):
{
break;
}
case (something2):
{
break;
}
case (something3):
{
break;
}
}
Run Code Online (Sandbox Code Playgroud)
此外,switch声明必须检查案件中的哪一个给出了一个TRUE,这不是问题,问题是,我现在有一个案例,在case ... break;检查其他数据之后,我希望选择其他的switch-case,跟随他的那个.我试过这样做:
switch(true)
{
case (something):
{
break;
}
case (something2):
{
if(check)
{
something3 = true;
continue;
}
break;
}
case (something3):
{
break;
}
}
Run Code Online (Sandbox Code Playgroud)
但是PHP不希望进入case (something3):它的完整switch陈述.如何通过一个案例的其余代码并跳转到下一个?
我正在阅读一本旧的C++入门书,我已经躺在床下几年了.在阅读特定章节时,我偶然遇到了" 继续 "声明.我阅读了书中关于它的信息; 然而,这本书有点细节.我很好奇,想要测试一下继续声明,看看我是否能够自己找出更多关于它的信息(虽然它现在可能已经过时了,我仍然很好奇它是如何工作的).
我读到continue语句 " 导致程序在当前迭代中跳过循环的其余部分,就好像已经到达语句块的结尾,导致它跳转到下一次迭代的开始 - (cplusplus. com) "
话虽如此,我构建了这个简单的程序来测试它:
#include <iostream>
int main(void) {
unsigned short int amount = 100;
unsigned short int container[5] = {amount , 0, 0, 0, 0,};
while(!(container[0]==90))
{
if(container[0]==97) continue;
std::cout << --container[0] << ", ";
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)
该程序的输出是:
99, 98, 97,
Run Code Online (Sandbox Code Playgroud)
现在,我认为结果将类似于:
99, 98 , 96 , 95, 94, 93, 92, 91, 90
Run Code Online (Sandbox Code Playgroud)
我认为结果将是这样的,因为continue语句将跳过定义97并重新开始迭代,从而输出上述结果中的一系列数字.
书中的例子有效,但它是用for循环执行的.我很好奇为什么它不适用于while循环,因为它们都是迭代.我只需要解释为什么会这样.感谢大家提前.
我正在尝试将以下for循环转换为while和do-while循环,但由于某种原因,代码在进入实际循环之前中断.
这是我想要复制的内容:
#include <stdio.h>
int main(void)
{ int y;
for (y=1;y<10; y++)
{ if (y == 5)
continue;
printf("%2d", y);
}
printf("\ny=%2d\n",y);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
以下是我尝试制作等效的while和do-while循环:
#include <stdio.h>
int main(void)
{
int y;
y = 1;
while(y < 10) // here's my while loop
{
if(y == 5)
continue;
printf("%2d", y);
y++;
}
printf("\ny=%2d\n",y);
/********************
... and my do-while
********************/
y = 1;
do
{
if (y == 5)
continue;
printf("%2d", y);
y++;
} while(y < 10);
printf("\ny=%2d\n",y);
return 0; …Run Code Online (Sandbox Code Playgroud) 我正在使用PHP的低版本v4.3和v5.3测试代码,这是一些代码,在没有分号的情况下继续.它的作品和奇怪的输出.
for ($i = 0; $i < 5; ++$i) {
if ($i == 2)
continue
print "$i\n";
}
//Output: 2 its strange
Run Code Online (Sandbox Code Playgroud)
但echo抛出错误Parse error: syntax error, unexpected 'echo' (T_ECHO)
for ($i = 0; $i < 5; ++$i) {
if ($i == 2)
continue
echo "$i\n";
}
//Output: Parse error: syntax error, unexpected 'echo' (T_ECHO)
Run Code Online (Sandbox Code Playgroud) 我有一个简单的脚本,从1到5000计数一个for循环.它将输出实时刷新到浏览器并显示带%的进度条.
我拥有:如果我离开页面,进程将中断.如果我回来,它从0开始.
我想要实现的目标:如果我离开页面,过程将继续,如果我回来,它会显示正确的百分比.
示例:我运行该过程,它计数到54,我离开页面10秒,当我回来时它显示我140并继续冲洗.
可能吗?