Member 14634794 Ответов: 2

Как я могу устранить свои ошибки C# (cs1513, 1002) [решено]


Привет, я новичок в c#, я делаю это уже несколько дней, и у меня возникли некоторые проблемы
я получаю много разных ошибок: cs1513 и cs1002 в этом коде(строки:26,28,30,32,34,36,38,40).

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Media;

namespace ConsoleApp4
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("hi, Do you want to lisen to some music?");
            string response = Console.ReadLine();

            if (response?.ToLower().FirstOrDefault() == 'y')
            {
                Console.WriteLine("Here are your options:");
                Console.WriteLine("\t1 - song 1");
                Console.WriteLine("\t2 - song 2");
                Console.WriteLine("\t3 - song 3");
                Console.WriteLine("\t4 - song 4");
                Console.Write("Your song?");

                string op = Console.ReadLine();

                case "1":
                    var player1 = new SoundPlayer(@"C:\Users\stagiair1\source\repos\Naudio1\NAudio-master\NAudio-master\Audio\test321.wav");
                player1.Play();

                case "2":
                    var player2 = new SoundPlayer(@"C:\Users\stagiair1\source\repos\Naudio1\NAudio-master\NAudio-master\Audio\test123.wav");
                player2.Play();

                case "3":
                    var player3 = new SoundPlayer(@"C:\Users\stagiair1\source\repos\Naudio1\NAudio-master\NAudio-master\Audio\testRing.wav");
                player3.Play();

                case "4":
                var player4 = new SoundPlayer(@"C:\Users\stagiair1\source\repos\Naudio1\NAudio-master\NAudio-master\Audio\test.wav");
                player4.Play();
            }

            else
            {
                Console.WriteLine("Ok :c, bye!");
                Console.ReadLine();
            }
        }
    }
}

как я могу решить эти проблемы

Что я уже пробовал:

я действительно пытался вставить ; и}, но это дало больше ошибок

F-ES Sitecore

Дайте английские описания ошибок и четко объясните, в каких строках они встречаются, не ожидайте, что люди будут искать коды ошибок и считать строки в вашем коде.

Одна вещь, которую я вижу, что может быть проблемой, - это то, что вам нужно "сломать", чтобы закончить ваше дело.

дело "1":
// код
перерыв;
дело "2":
// код
перерыв;

Member 14634794

он говорит: нет ограждения из ниоткуда, чтобы сломать или продолжить

2 Ответов

Рейтинг:
18

Andy Lanng

Тебе не хватает выключателя и нескольких разрывов;


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Media;

namespace ConsoleApp4
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("hi, Do you want to lisen to some music?");
            string response = Console.ReadLine();

            if (response?.ToLower().FirstOrDefault() == 'y')
            {
                Console.WriteLine("Here are your options:");
                Console.WriteLine("\t1 - song 1");
                Console.WriteLine("\t2 - song 2");
                Console.WriteLine("\t3 - song 3");
                Console.WriteLine("\t4 - song 4");
                Console.Write("Your song?");

                string op = Console.ReadLine();

                // think about it.  Case 1 of what?
                switch (op) { //switch wraps the cases
                    case "1":
                        var player1 = new SoundPlayer(
                            @"C:\Users\stagiair1\source\repos\Naudio1\NAudio-master\NAudio-master\Audio\test321.wav");
                        player1.Play();
                        break; // break or return is required (unless case is empty)
                    case "2":
                        var player2 = new SoundPlayer(
                            @"C:\Users\stagiair1\source\repos\Naudio1\NAudio-master\NAudio-master\Audio\test123.wav");
                        player2.Play();
                        break;
                    case "3":
                        var player3 = new SoundPlayer(
                            @"C:\Users\stagiair1\source\repos\Naudio1\NAudio-master\NAudio-master\Audio\testRing.wav");
                        player3.Play();
                        break;
                    case "4":
                        var player4 = new SoundPlayer(
                            @"C:\Users\stagiair1\source\repos\Naudio1\NAudio-master\NAudio-master\Audio\test.wav");
                        player4.Play();
                        break;
                }
            }

            else
            {
                Console.WriteLine("Ok :c, bye!");
                Console.ReadLine();
            }
        }
    }
}


Подробнее читайте здесь]
Оператор переключения C# | Microsoft Docs[^]


Рейтинг:
11

OriginalGriff

Вам нужно сделать резервную копию и внимательно посмотреть на свой код: у вас есть case заявления без switch- что не сработает , ты все равно не сможешь наткнуться на следующий блок дел и все такое:

string op = Console.ReadLine();

case "1":
    var player1 = new SoundPlayer(@"C:\Users\stagiair1\source\repos\Naudio1\NAudio-master\NAudio-master\Audio\test321.wav");
player1.Play();

case "2":
    var player2 = new SoundPlayer(@"C:\Users\stagiair1\source\repos\Naudio1\NAudio-master\NAudio-master\Audio\test123.wav");
player2.Play();

case "3":
    var player3 = new SoundPlayer(@"C:\Users\stagiair1\source\repos\Naudio1\NAudio-master\NAudio-master\Audio\testRing.wav");
player3.Play();

case "4":
var player4 = new SoundPlayer(@"C:\Users\stagiair1\source\repos\Naudio1\NAudio-master\NAudio-master\Audio\test.wav");
player4.Play();
Формат а switch утверждение простое:
switch (variableToSelectOn)
   {
   case constantValueToMatch:
       statements to execute if it matches
       break;
   case anotherConstantValueToMatch:
       statements to execute if it matches
       break;
   ...
   default:
       statements to execute if nothing else matches
       break;
   }
Постарайтесь, чтобы ваш код соответствовал этому, и большинство ваших ошибок должны исчезнуть.