Ошибки в коде "объект не существует в текущем контексте". Разобраться с правильным объявлением переменных - 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" Программа:
Листинг программы
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6.  
  7. namespace ShapeAbstract
  8. {
  9. abstract class Shape
  10. {
  11. protected int xPos;
  12. protected int yPos;
  13. public Shape(int x, int y)
  14. {
  15. xPos = x;
  16. yPos = y;
  17. }
  18. abstract public void Draw(int x, int y);
  19. }
  20. class Point : Shape
  21. {
  22. public Point(int x, int y) : base(x, y)
  23. {
  24. }
  25. public override void Draw(int x, int y)
  26. {
  27. Console.WriteLine("точка в ({0}, {1})", x, у);
  28. xPos = x;
  29. yPos = y;
  30. }
  31. }
  32. class Rectangle : Shape
  33. {
  34. int width;
  35. int height;
  36. public Rectangle(int x, int y, int w, int h): base(x, y)
  37. {
  38. width = w;
  39. height = h;
  40. }
  41. public override void Draw(int x, int y)
  42. {
  43. Console.WriteLine("левый угол прямоугольника в ({0}, {1})", x, у);
  44. xPos = х;
  45. yPos = у;
  46. }
  47. }
  48. class ShapeAbstractApp
  49. {
  50. static void Main(string[] args)
  51. {
  52. Shape[] allShapes = new Shape[4];
  53. allShapes[0] = new Point(1, 5);
  54. allShapes[1] = new Rectangle(2, 3, 1, 5);
  55. allShapes[2] = new Rectangle(1, 2, 3, 4);
  56. allShapes[3] = new Point(31, 4);
  57. foreach (Shape currentshape in allShapes)
  58. {
  59. currentShape.Draw(0, 0);
  60. }
  61. Console.ReadLine();
  62. }
  63. }
  64. }

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

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

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


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

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

9   голосов , оценка 4.333 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы