Student_Engineer Ответов: 1

Ошибка заключается в том, что не все пути кода возвращают значение


Stud_Information имеет красный цвет и эту ошибку :

- Студенты.Stud():' не все пути кода возвращают значение.

Я называю студентов классом в методе стада.Но возьмите эту ошибку.Зачем принимать это сообщение об ошибке?

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

Студент.в CS

namespace WorkList
{
    public class Stud_Information
    {
        public List<string> students= new List<string>();

        public static string Stud()
        {
            List<string> students = new List<string>();
            students.Add("Mary");
        }        
    }
}



Программы.в CS

namespace WorkList
{
    class Program
    {

        static void Main(string[] args)
        {
           Stud_Information.Stud();
            for (var i = 0; i < students.Count; i++)
            {
                Console.WriteLine("[" + i.ToString() + "] " + students[i] );
            }
            Console.ReadKey();
}

}

1 Ответов

Рейтинг:
2

Mehdi Gholam

Ваш Stud() метод определяется как возврат в string ценность, которую вы не возвращаете.

Либо верните строковое значение в методе : return "Mary";

Или измените определение метода на return void : public static void Stud()


0x01AA

Да, вы решили первую проблему, но я думаю, что следующей проблемой будет "доступ" к нестатической переменной в статической функции...

[no name]

Привет.Да эта проблема решена.Да, я думаю, у тебя были проблемы.
Есть ли у вас какие-либо предложения о том, что вы можете с этим сделать? Спасибо за вашу помощь.

Gerry Schmitz

Не обращай внимания на то, что он сказал. Нет никаких доказательств того, что "книги" являются "нестатичными", потому что они даже не находятся в области действия (согласно вашему коду). Если вы имели в виду "студентов", то это не "нестатическая"; это "локальная" переменная (которая в данном случае не имеет никакого отношения к "нестатической", определенной в классе). Малое знание-опасная вещь.

[no name]

Привет. Когда я проверяю с помощью debug таким образом, счетчик равен 0 в следующем поле.

для (var i = 0; i < студентов.Граф; i++)

Поэтому, хотя count = 1, он должен быть равен 0, потому что я не могу достичь значения в классе из другого класса.