2012-04-21 5 views
0

は、ここでの方法メソッド内でリストを使用するにはどうすればよいですか?

public void MenuList() 
{ 
    List<string> flavors = new List<string>(); 
    flavors.Add("Angus Steakhouse"); 
    flavors.Add("Belly Buster"); 
    flavors.Add("Pizza Bianca"); 
} 

内にある一覧<は>今、私は新しい方法

public int GetSizePrices(int num) 
{ 
    this.MenuList ???  
} 

どのように私はGetSizePricesメソッド内フレーバオブジェクトを使用することができますを置くのですか?おかげさまで

+0

'GetSizePrices()'メソッドがフレーバオブジェクトに対して何をしたいですか? –

+0

GetSizePrices()メソッドの中でそれを読み込んで使用してください。最初の答えは私が探しているものだと思います。 – Ryan

+0

より重要な質問は、フレーバーが変わるべきかどうかです。または、メソッドMenuList()を他のすべてのメソッドに作成して配信することを排他的にする必要がありますか?最も具体的に質問を更新して、あなたが実際にやろうとしていることを示すことができますか? –

答えて

0

私はあなたが

public Class SomeClass 
{ 
    public IEnumerable<string> MenuList() 
    { 
    List<string> flavors = new List<string>(); 
    flavors.Add("Angus Steakhouse"); 
    flavors.Add("Belly Buster"); 
    flavors.Add("Pizza Bianca"); 
    return flavors; 
    } 

    public int GetSizePrices(int num) 
    { 
    // No idea what to do with num 
    return this.MenuList().Count(); 
    } 
} 
+0

-1 OPは明らかにC#の新機能です。これは、同じクラスの他のメソッドからアクセスできるフィールド(またはプロパティ)に 'flavors'を入れる方法を説明していません。 –

+0

私はあなたの主張に同意していますが、OPの質問はあいまいであると主張していますが、この回答は一般的なレベルでフレーバオブジェクトにアクセスします。 –

0

?:のようなものがあり、これと設計要件に基づいていますを達成するために明らかに多くの異なる方法を探していると思います。

ここでは、C#を初めてお使いになることを前提としています。この2つの簡単な方法で旅行を始めることができます(可能な限り既存のコードに慣れさせるために意図的にC#を使いません)。


オプション1 - パラメータとして渡す:

public List<string> BuildMenuList() 
{ 
    List<string> flavors = new List<string>(); 
    flavors.Add("Angus Steakhouse"); 
    flavors.Add("Belly Buster"); 
    flavors.Add("Pizza Bianca"); 

    return flavors; 
} 

public int GetSizePrices(int num, List<string> menuList) 
{ 
    // access to menuList 
    var cnt = menuList.Count(); 
} 


オプション2 -

public class Menu 
{ 
    // A public property that is accessible in this class and from the outside 
    public List<string> MenuList { get; set;} 

    public Menu() 
    { 
     // Populate the property in the constructor of the class 
     MenuList = new List<string>(); 
     MenuList.Add("Angus Steakhouse"); 
     MenuList.Add("Belly Buster"); 
     MenuList.Add("Pizza Bianca"); 
    } 

    public int GetSizePrices(int num) 
    { 
     // your implementation details here... 
     return MenuList.Count(); 
    } 
} 

はそれが役に立てば幸いプロパティとしてそれを使用できるようにします。

関連する問題