2016-10-29 8 views
0

私はプライベートメンバー変数として設定するメンバー変数Nameにアクセスしようとしていますが、出力として表示されます。なぜ私はメンバ変数Nameをプライベートとして設定するのか心配しないでください。それは練習目的のためだけです。C#でプライベートメンバー変数にアクセスするには?

私の出力は基本的にシェルに名前を表示することです。どちらの

私の名前は

または

私の名前は

ゼアノート

ですが、私の名前はBLANK [

ある今のコードが表示されソラです]

私はそれを行う2つの方法を知っています。最初はユーザー入力によるもので、2番目は文字の名前がプログラム変数に格納されているものです。 私はそれを両方の方法で行う方法を知っていますが、それは私のメンバー変数が公開されているがプライベートではないときです。私は私的にそれをやりたいのですが、私は困惑しています。

これまでのコードです。最初のものは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; 
     } 
    } 

} 

...そして2番目はメインプログラムです。

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()); 
     } 
    } 
} 

どうすればいいのか、それができない場合はどうすればいいのか教えてください。それは有り難いです。

答えて

1

値をstringに設定したい場合は、Hero.Name = valueではなくHero.setName(value)を使用する必要があります。

これは、コンソール入力とハードコードされた変数の両方に適用されます。

+0

あ、素敵!ありがとう! :D – miiworld2

関連する問題