Я пытался понять это весь день, просматривая и читаю, и я знаю, что это должно быть что-то простое, но в последнем фрагменте кода на дне , Я пытаюсь создать методы, которые распечатывают введенные данные, и я продолжаю получать эту ошибку.Невозможно получить доступ к переменной - Вне контекста
CS0103 Ошибка Название «student1» не существует в текущем контексте
Ошибка CS0103 Название «teacher1» не существует в текущем контексте Error CS0103 Название «course1» не существует в текущем контексте
Я буду навсегда благодарен, если вы можете просто указать мне в правильном направлении или дать мне хотя бы намек.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace StudentInformation
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("What would you like to do? Please choose a number: ");
Console.WriteLine("");
Console.WriteLine("1. Enter Student Information");
Console.WriteLine("2. Enter Teacher Information");
Console.WriteLine("3. Enter Class Information");
Console.WriteLine();
int menuOne = Convert.ToInt32(Console.ReadLine());
if (menuOne == 1)
{
GetStudent();
}
else if (menuOne == 2)
{
GetTeacher();
}
else if (menuOne == 3)
{
GetClass();
}
else
{
Console.WriteLine("Incorrect input. Exiting application.");
Console.ReadLine();
}
}
public class Student
{
public string fName { get; set; }
public string lName { get; set; }
public string bDate { get; set; }
}
public class Teacher
{
public string tFName { get; set; }
public string tLName { get; set; }
public string tClass { get; set; }
}
public class Course
{
public string cName { get; set; }
public string cSubject { get; set; }
public string cStart { get; set; }
}
static void GetTeacher()
{
Teacher teacher1 = new Teacher();
Console.WriteLine("Enter teacher's first name: ");
teacher1.tFName = Console.ReadLine();
Console.WriteLine("Enter teacher's last name: ");
teacher1.tLName = Console.ReadLine();
Console.WriteLine("Enter teacher's class name: ");
teacher1.tClass = Console.ReadLine();
}
static void GetStudent()
{
Student student1 = new Student();
Console.WriteLine("Enter student's first name: ");
student1.fName = Console.ReadLine();
Console.WriteLine("Enter student's last name: ");
student1.lName = Console.ReadLine();
Console.WriteLine("Enter student's birthdate: ");
student1.bDate = Console.ReadLine();
PrintStudent();
}
static string GetClass()
{
Course course1 = new Course();
Console.WriteLine("Enter class name: ");
course1.cName = Console.ReadLine();
Console.WriteLine("Enter class subject: ");
course1.cSubject = Console.ReadLine();
Console.WriteLine("Enter class start time: ");
course1.cStart = Console.ReadLine();
return course1.cName;
}
static void PrintStudent()//Going to add PrintTeacher and PrintCourses as well after I figure this out
{
//string student1.fName = GetStudent();
// Console.WriteLine(fName);
Console.WriteLine("{0} and {1} are in {2}", student1.fname, teacher1.tFName, course1.cName);
}
}
}
Это локальные переменные ... –
Этот код нуждается в очистке .. его повсюду! –
Вы должны избегать криптографических идентификаторов, таких как 'fName' или' cFName'. Обычное старое 'FirstName' будет работать лучше в обоих случаях. –