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

yra*_*lik 1 c# switch-statement

我看过类似的问题和答案,但我仍然无法在代码中看到问题.我有一个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 = (int)((queue.Transferred * 100) / queue.Length);
                    if (queue.LastProgress < queue.Progress)
                    {
                        queue.LastProgress = queue.Progress;

                        if (ProgressChanged != null)
                        {
                            ProgressChanged(this, queue);
                        }

                        if (queue.Progress == 100)
                        {
                            queue.Close();

                            if (Complete != null)
                            {
                                Complete(this, queue);
                            }
                        }
                    }
                }
                break;
            default:
                {

                }
        }
Run Code Online (Sandbox Code Playgroud)

问题是,默认块会产生错误说明

控件不能从一个案例标签('default:')转到另一个案例标签

谁能帮我这个?

谢谢

Jen*_*ter 5

您应该添加break;default情况下也是如此.