implicitly convert type 'Test.Cell' to 'int'. An explicit conversion exists (are you missing a cast?)
                  
                  
                  
                  
                  
                  Program.cs:
                  
                  
                  using System;
                  
                  
                  
                  
                  
                  namespace Test
                  
                  
                  {
                  
                  
                    public enum Cell : int
                  
                  
                    {
                  
                  
                      EMPTY = 0,
                  
                  
                      MISS = 5,
                  
                  
                      HIT = 6,
                  
                  
                      SUNK = 7
                  
                  
                    }
                  
                  
                  
                  
                  
                    class Program
                  
                  
                    {
                  
                  
                      static void Main(string[] args)
                  
                  
                      {
                  
                  
                        MyClass myclass = new MyClass();
                  
                  
                      }
                  
                  
                    }
                  
                  
                  }
                  
                  
                  
                  
                  
                  Class1.cs:
                  
                  
                  using System;
                  
                  
                  
                  
                  
                  namespace Test
                  
                  
                  {
                  
                  
                    class MyClass
                  
                  
                    {
                  
                  
                      public int[,] bf = new int[10, 10];
                  
                  
                  
                  
                  
                      public MyClass()
                  
                  
                      {
                  
                  
                        bf[0, 0] = Cell.HIT; // <<< Ошибка 
                  
                  
                      }
                  
                  
                    }
                  
                  
                  }
                  
                  
                
Потому что нет неявного приведения между Enum'ом и числами, но есть явное. Которое компилятор и советует использовать. (int)Cell.HIT
Обсуждают сегодня