Ошибки в коде "объект не существует в текущем контексте". Разобраться с правильным объявлением переменных - C#

Узнай цену своей работы

Формулировка задачи:

Добрый день. Изучаю С# не более 3 месяцев, в связи с этим естественно навыки небольшие, и возникает очень много примитивных вопросов. Приведу пример программы, которую писала по упражнению в учебном пособии. Очень часто сталкиваюсь с ошибкой инициализации, с которой столкнулась и в этой программе. Ошибка звучит так: "The name "..." does not exist in the current context". Я понимаю, что необходимо объявить переменную, но вопрос в том, как быть с параметрами методов? Их тоже необходимо объявлять? Даже если так, в самом конце программы я создаю цикл для массива, и по указанию задания мне необходимо использовать переменную цикла для установления координат, созданных объектов. В любом случае я не смогу объявить переменную цикла и задать ей значение, так как насколько понимаю смысл и заключается в том, что она задается внутри цикла. Объясните, пожалуйста, что я недопонимаю и как поступать с такими ошибками. Заранее благодарю всех отзывчивых. Конкретные ошибки в программе: "The name "y" does not exist in the current context" "The name "x" does not exist in the current context" "The name "currentShape" does not exist in the current context" Программа:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ShapeAbstract
{
 
    abstract class Shape
    {
        protected int xPos;
        protected int yPos;
        public Shape(int x, int y)
        {
            xPos = x;
            yPos = y;
        }
        abstract public void Draw(int x, int y);
    }
    class Point : Shape
    {
        public Point(int x, int y) : base(x, y)
        {
        }
        public override void Draw(int x, int y)
        {
            Console.WriteLine("точка в ({0}, {1})", x, у);
            xPos = x;
            yPos = y;
        }
    }
    class Rectangle : Shape
    {
        int width;
        int height;
        public Rectangle(int x, int y, int w, int h): base(x, y)
        {
            width = w;
            height = h;
        }
        public override void Draw(int x, int y)
        {
            Console.WriteLine("левый угол прямоугольника в ({0}, {1})", x, у);
            xPos = х;
            yPos = у;
        }
    }
    class ShapeAbstractApp
    {
        static void Main(string[] args)
        {
            Shape[] allShapes = new Shape[4];
 
            allShapes[0] = new Point(1, 5);
            allShapes[1] = new Rectangle(2, 3, 1, 5);
            allShapes[2] = new Rectangle(1, 2, 3, 4);
            allShapes[3] = new Point(31, 4);
            foreach (Shape currentshape in allShapes)
            { 
                currentShape.Draw(0, 0);
            }
                Console.ReadLine();
        }
    }
}

Решение задачи: «Ошибки в коде "объект не существует в текущем контексте". Разобраться с правильным объявлением переменных»

textual
Листинг программы
            foreach (Shape currentshape in allShapes)
            { 
                currentShape.Draw(0, 0);
            }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 4.333 из 5
Похожие ответы