c# - 错误:与 C# 代码中先前错误相关的符号位置
问题描述
using System;
public class Student
{
string name;
int age;
public string inputName()
{
Console.WriteLine("Enter name :");
string name= Console.Readline();
return name;
}
public void showName(string name){
Console.WriteLine(name);
}
static void Main(string[] args)
{
Student myObj = new Student();
string name=myObj.inputName();
myObj.showName(name);
}
}
无法理解上述代码中的错误之处。我想通过 C# 类中的方法将学生的姓名和年龄作为输入,然后使用另一种方法进行打印。我在想我将在 main() 中创建一个对象并从 main 调用 getter 和 setter 函数。最初,我猜测是 Console.Readline() 导致了问题,因此尝试查看我是否忘记了要为 Readline() 导入的任何库,但无法成功获取此原因背后的原因。我对c#完全陌生,请帮忙。注意:我正在为上面的 C# 代码使用在线编译器,所以如果这个错误是特定于这种情况的,请告诉我。
解决方案
main 方法不能在 Student 类中
public static void Main(string[] args)
{
}
public class Student
{
}
以下错误:
Student myObj = new Student(); // is correct, creates an instance
string name=myObj.inputName(); // semantic error
myObj.showName(name);
在这里,您声明一个新字符串并为其分配输入名称函数。其中的 inputName() 本身是正确的,但您可能打算将名称分配给对象字段string name;
所以以下
public string inputName()
{
Console.WriteLine("Enter name :");
string name = Console.Readline();
return name;
}
需要
public void inputName()
{
Console.WriteLine("Enter name :");
string name = Console.ReadLine();
this.name = name;
}
返回类型从字符串更改为 void,因为它不需要返回值。this.name = name 将输入分配给对象上的名称字段。
功能
public void showName(string name)
{
Console.WriteLine(name);
}
也是语义错误。没有功能错误,但您不需要参数。(string name) 是函数的输入,如果要显示对象的当前名称,则可以在此处使用不带任何参数的返回类型。
public string showName()
{
return name;
}
所以最终的修订是
public class Program
{
public static void Main(string[] args)
{
Student myObj = new Student();
myObj.inputName();
Console.WriteLine(myObj.showName());
}
public class Student
{
string name;
int age;
public void inputName()
{
Console.WriteLine("Enter name :");
string name = Console.ReadLine();
this.name = name;
}
public string showName()
{
return name;
}
}
}
推荐阅读
- javascript - Discord.js - 尝试在音乐机器人上使用 _leave 命令时,机器人发送错误消息
- intellij-idea - Intellij + Ajc + Lombok/Mapstruct
- angular - 如何从列表中随机选择一个下拉项?(角度 5)
- java - Java,添加时间 LinkedList vs ArrayList
- powershell - 获取内容 | 测量对象线到变量
- ios - 链接到桌面上的 iOS 应用商店会打开 App Store 应用程序,而不是停留在网站上
- qt - Qt 安装程序脚本 API:无法在在线安装程序中选择最新的 Qt 版本
- r - 在R中的条形图上绘制平均值时如何显示一系列比例值
- c# - EF 相关实体在为空时不显示
- swift - 在 SwiftUI 中以编程方式自动聚焦 TextField