我知道这很傻,但我是初学者,我被要求制作一个程序,接受来自方法GetStudentInfo()
的学生信息,并使用另一种方法将其打印出PrintStudentInfo
,我得到了一切都差不多完成了,除了我不知道我可以在哪里声明变量。我得到了名字'XXXX' doesn't exist in the current context.
,这是代码:
class Program
{
static void Main(string[] args)
{
GetStudentInfo();
printStudentInfo();
}
//Student info ..
public static void GetStudentInfo()
{
Console.WriteLine("Enter Student's first name : ");
firstname = Console.ReadLine();
Console.WriteLine("Enter Student's last name : ");
lastname = Console.ReadLine();
Console.WriteLine("Enter Student's Address : ");
address = Console.ReadLine();
Console.WriteLine("Enter Student's country :");
country = Console.ReadLine();
Console.WriteLine("Enter Student's state : ");
state = Console.ReadLine();
Console.WriteLine("Enter Student's Telephone number :");
tele = Console.ReadLine();
}
static void printStudentInfo()
{
Console.WriteLine("Student name is" + firstname + lastname);
Console.WriteLine("Prof address is " + address);
Console.WriteLine("Student country/state is" + country + state);
Console.WriteLine("Student telephone is " + tele);
}
答案 0 :(得分:4)
我建议:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication1
{
class Program
{
public class Student
{
public string firstname;
public string lastname;
public string address;
public string country;
public string state;
public string tele;
}
public class StudentProcessor
{
//Student info ..
public Student GetStudentInfo()
{
Student s = new Student();
Console.WriteLine("Enter Student's first name : ");
s.firstname = Console.ReadLine();
Console.WriteLine("Enter Student's last name : ");
s.lastname = Console.ReadLine();
Console.WriteLine("Enter Student's Address : ");
s.address = Console.ReadLine();
Console.WriteLine("Enter Student's country :");
s.country = Console.ReadLine();
Console.WriteLine("Enter Student's state : ");
s.state = Console.ReadLine();
Console.WriteLine("Enter Student's Telephone number :");
s.tele = Console.ReadLine();
return s;
}
public void printStudentInfo(Student s)
{
Console.WriteLine("Student name is" + s.firstname + s.lastname);
Console.WriteLine("Prof address is " + s.address);
Console.WriteLine("Student country/state is" + s.country + s.state);
Console.WriteLine("Student telephone is " + s.tele);
}
}
static void Main(string[] args)
{
StudentProcessor p = new StudentProcessor();
Student s = p.GetStudentInfo();
p.printStudentInfo(s);
}
}
}
答案 1 :(得分:1)
放:
private static string firstname;
private static string lastname;
private static string address;
private static string country;
private static string state;
private static string tele;
如果你只是想让它起作用,可以在课程(主要方法)中使用,但是如果你想做得更好,就像Ewan说的那样。
例如:
class Program
{
private static string firstname;
private static string lastname;
private static string address;
private static string country;
private static string state;
private static string tele;
static void Main(string[] args)
{
....
}
....
}