2016-11-29 3 views
-1

В моей Оранжевой классе у меня есть этот метод:Возьмите список из метода и использовать его в другом методе

public static List<Orange> AddOrange() 
    { 
     List<Orange> oranges = new List<Orange>(); 
     oranges.Add(new Orange() { Weight = 150, Measure = 6 }); 
     oranges.Add(new Orange() { Weight = 160, Measure = 6 }); 
     oranges.Add(new Orange() { Weight = 160, Measure = 6 }); 
     oranges.Add(new Orange() { Weight = 150, Measure = 6 }); 
     oranges.Add(new Orange() { Weight = 160, Measure = 6 }); 
     oranges.Add(new Orange() { Weight = 160, Measure = 6 }); 

     return oranges; 
    } 

И в моем классе OrangeJuice у меня есть этот метод

public static int CreateJuice(List<Orange> oranges) 
    { 
     var bottle = new Bottle(); 
     var bottle2 = new Bottle(); 
     var cork = new Cork(); 
     var cork2 = new Cork(); 

     var orangeJuice = new OrangeJuice(1, 33, oranges, bottle, cork, 20); 
     var orangeJuice2 = new OrangeJuice(2,33,oranges, bottle2,cork2, 20); 

     var order = new Order(); 
     order.OrangeJuices.Add(orangeJuice); 
     order.OrangeJuices.Add(orangeJuice2); 

     var totalPrice = order.OrangeJuices.Sum(x => x.Price); 

     return totalPrice; 
    } 

То, что я хочу чтобы сделать апельсины, созданные мной по методу AddOrange (шесть апельсинов), и поместить их в метод CreateJuice. Поэтому я получаю список из первого метода, должен каким-то образом во втором методе.

Мне интересно, правильно ли я делаю это? А если нет, как я могу это решить?

+1

Вы делаете это правильно! oragnes - ваш список апельсинов в CreateJuice –

+0

Где вы называете первый метод? Похоже, что первый метод возвращает список апельсинов, а второй метод принимает список апельсинов. Так что любой код, вызывающий эти методы, справится с этим. – David

+1

var myJuice = CreateJuice (AddOrange()); – slugster

ответ

2

Обычно метод называется AddOrange должен был назван GetOranges

public static List<Orange> GetOranges() 
{ 
    List<Orange> oranges = new List<Orange>(); 
    oranges.Add(new Orange() { Weight = 150, Measure = 6 }); 
    oranges.Add(new Orange() { Weight = 160, Measure = 6 }); 
    oranges.Add(new Orange() { Weight = 160, Measure = 6 }); 
    oranges.Add(new Orange() { Weight = 150, Measure = 6 }); 
    oranges.Add(new Orange() { Weight = 160, Measure = 6 }); 
    oranges.Add(new Orange() { Weight = 160, Measure = 6 }); 
    return oranges; 
} 

Тогда на месте вы называете CreateJuice в вас коде, вы только должны пройти GetOranges.

CreateJuice(GetOranges()); 

или

var oranges = GetOranges(); 
var juice = CreateJuice(oranges); 
Смежные вопросы