我正在尝试访问成员变量Name,我将其设置为私有成员变量,以显示为输出。请不要担心为什么我将成员变量Name设置为私有。它仅用于练习目的。
基本上我的输出是在shell上显示一个名字。
我的名字是索拉
或
我的名字是Xehanort
现在代码显示
我的名字是[BLANK]
我想知道这两种方法。第一个是通过用户输入,第二个是字符的名称存储在程序变量中。 现在我知道如何以两种方式做到这一点,但那时我的成员变量是公开的,但不是私有的。我想私下这样做,但我很难过。
到目前为止,这些是我的代码。第一个是Character类...
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace CSharp_Practice
{
class Character
{
private string Name;
private int Age;
private char Gender;
private float Height { get; set; }
private float Weight { get; set; }
private string Nationality { get; set; }
private string Appearance { get; set; }
//SET AND GET NAME
public void setName(string name)
{
this.Name = name;
}
public string getName()
{
return Name;
}
//SET AND GET AGE
public void setAge(int age)
{
this.Age = age;
}
public int getAge()
{
return Age;
}
}
}
......第二个是主程序。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace CSharp_Practice
{
class Program
{
static void Main(string[] args)
{
Character Hero = new Character();
Character Villain = new Character();
//List of Heroes
Hero.getName();
// Hero.Name = "Sora";
// Hero.Age = 19;
// Villain.Name = "Xehanort";
// Villain.Age = 79;
Console.WriteLine("My name is " + Hero.getName());
}
}
}
请让我知道如何做到这一点,或者如果不可能,请告诉我原因。我很感激。
答案 0 :(得分:1)
如果您的string
值包含您要设置的名称,则应该可以使用Hero.setName(value)
而不是Hero.Name = value
。
这适用于控制台输入和硬编码变量。