您好,
我得到" Structs不能包含显式的无参数构造函数"构建期间出错,但我能够编译错误的程序。
struct Program
{
string Name;
string Degree;
string Dpthead;
//Constructor
public Program ()
{
Console.WriteLine("Enter the Program's Name: ");
Name = Console.ReadLine();
Console.WriteLine("Enter the Program's Degree Name: ");
Degree = Console.ReadLine();
Console.WriteLine("Enter the Head of Program : ");
Dpthead = Console.ReadLine();
}
public void PrintUProgramDetails()
{
Console.WriteLine("Program Name: {0} from {1}. Enrolled in {2} degree(s)", Name, Degree, Dpthead);
}
}
纠正此错误的可能方法有哪些?任何帮助或指导。
答案 0 :(得分:0)
将struct Program
设为class
。
structs
是不可变的数据对象。有很多建议when to use structs:
如果类型的实例很小并且通常是短暂的或者通常嵌入在其他对象中,请考虑定义结构而不是类。
除非类型具有以下所有特征,否则不要定义结构:
- 它逻辑上表示单个值,类似于基本类型(整数,双精度等)。
- 实例大小小于16个字节。
- 这是不可改变的。
- 不必频繁装箱。
其次,您在那里的Program
- 构造函数将更好地视为main
- 方法。然后使用三个string
- 值作为参数调用数据对象的构造函数。