2016-05-13 21 views
0

によってどのように私はこのような変数/クラスか何かを行うことができます。C#の - 2つの引数を持つ変数、文字列

Person["James"].age = 22; 
Person["James"].name = "James Bond"; 

Person["John"].age = 18; 
Person["John"].name = "John Hock"; 

string m = Person[James].name; 
int l = Person[James].age; 
+3

あなたが尋ねていることは本当に不明です。 'age'と' name'フィールドまたはプロパティを持つ型を返す文字列インデクサを持つクラスを作成することができます。正確に何をしていますか? –

+0

この記法も何ですか?あなたはクラス作りの方法を尋ねていますか?初心者のC#チュートリアルを試してみましたか? – David

答えて

3

あなたは人のクラスを作成することができます。

class Person 
{ 
    public string Name { get; private set; } 
    public int Age { get; private set; } 

    public Person(string name, int age) 
    { 
     Name = name; 
     Age = age; 
    } 
} 

次にあなたが使用することができますキーとしてそのエイリアス/ニックネームを持っている辞書:

var people = new Dictionary<string, Person>(); 

そして、このようにそれを使用します。

var firstPerson = new Person("James Bond", 22); 
var secondPerson = new Person("John Hock", 18); 
people.Add("James", firstPerson); 
people.Add("John", secondPerson); 

// e.g. how to access the element via the nickname. 
System.Diagnostics.Debug.Print(people["James"].Name); 
+0

質問者の例にしたがって、アクセス方法を示すこともあります。 –

0

あなたはこれを望みますか?

class Person 
{ 
    public string Name {get;set;} 
    public int Age {get;set;} 
} 
Person James = new Person(); 
James.name = "James"; 

あなたが投稿したものに類似したものを達成するためにインデクサーを利用できるかもしれませんが、

https://msdn.microsoft.com/en-us/library/6x16t2tx.aspx

しかし、私の意見では、Idはちょうどあなたが複数のジョンズを持っている場合はどう.Where(person => person.name == "someName");

を行うためのLINQを使用できるように人がリストにオブジェクトを投げますか?

これが役に立ちます。

関連する問題