相关疑难解决方法(0)

用于循环使用if和else

我有一种情况,我必须做这样的事情

for (int i = 0; i < list.size; i++) //Master for loop
{ 
    //I need a control statement here to control list1 i.e. only if statement

    if (time == list1.get(someInteger))
    {
        //do something
    }
    else
    {
        //do something else
    }
}
Run Code Online (Sandbox Code Playgroud)

但每个"如果"应该跟着"其他",我似乎不明白如何去做.香港专业教育学院尝试过,但无济于事.对我来说,重要的是同时执行if和else,但只有"if"的控制语句.

那可能吗?

c# java android

2
推荐指数
1
解决办法
1万
查看次数

什么是更好的实践:重复代码或使用goto语句?

我现在正在研究C#,遇到以下情况,有什么更好的实践,重复代码如"EX 1"或使用goto"EX 2"这样的语句?我不想要个人意见.

        // EX 1: 

        switch (a)
        {
            case 3:
                b = 7;
                c = 3; // duplicate code <-|
                break; //                    |
            case 4:    //                    |
                c = 3; // duplicate code --|
                break;
            default:
                b = 2;
                c = 4;
                break;
        }


        // EX 2: 

        switch (a)
        {
            case 3:
                b = 7;
                goto case 4; // not duplicate code and use goto statement
            case 4:
                c = 3;
                break;
            default:
                b = 2;
                c …
Run Code Online (Sandbox Code Playgroud)

c# goto

2
推荐指数
1
解决办法
545
查看次数

无法将"默认"设置为切换块

我看过类似的问题和答案,但我仍然无法在代码中看到问题.我有一个switch语句,这里是:

switch (header)
        {
            case Headers.Queue:
                {
                    int id = pr.ReadInt32();
                    string fileName = pr.ReadString();
                    long length = pr.ReadInt64();

                    TransferQueue queue = TransferQueue.CreateDownloadQueue(this, id, Path.Combine(downloadDirectory,
                        Path.GetFileName(fileName)), length);

                    _transfers.Add(id, queue);

                    if (Queued != null)
                    {
                        Queued(this, queue);
                    }
                }
                break;
            case Headers.Start:
                {
                    int id = pr.ReadInt32();

                    if (_transfers.ContainsKey(id))
                    {
                        _transfers[id].Start();
                    }
                }
                break;
            case Headers.Chunk:
                {
                    int id = pr.ReadInt32();
                    long index = pr.ReadInt64();
                    int size = pr.ReadInt32();
                    byte[] buffer = pr.ReadBytes(size);

                    TransferQueue queue = _transfers[id];

                    queue.Write(buffer, index);

                    queue.Progress = …
Run Code Online (Sandbox Code Playgroud)

c# switch-statement

1
推荐指数
1
解决办法
101
查看次数

C#中的开关是空的情况还是下一个非空的?

使用以下代码:

case "GETSITES":
case "SITESETUP":
    MessageBox.Show("Help! I am suffering from the Air-Conditioned Nightmare!!!");
    // ...
Run Code Online (Sandbox Code Playgroud)

MessageBox.Show被执行或者开关值为"GETSITES"还是"SITESETUP"

或者当开关值是"SITESETUP"

既然"GETSITES"没有休息,我想是的,但我不确定.


UPDATE

我想我应该把我的问题写成:

这两个代码片段在语义上是等价的吗?

c# language-design switch-statement

-1
推荐指数
2
解决办法
4504
查看次数

标签 统计

c# ×4

switch-statement ×2

android ×1

goto ×1

java ×1

language-design ×1