Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > Общие вопросы .NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.10.2014, 18:25   #1
SKyzZz
Пользователь
 
Регистрация: 14.02.2011
Сообщений: 43
Сообщение Передача списка

Код:
using System;
using System.Collections.Generic;

namespace ConsoleAppStone
{
    public class GeneratiorStone
    {
        int i;
        int k = 0, m = 0;
        List<Stone> stonelist = new List<Stone>();
        public List<Stone> OtherOperationsOne()
        {
            for (i = 0; i < 20; i += 2)
            {
                stonelist.Add(new PreciousStone("Precious Stone " + i, i / 10 + i / 100, i / 1000));
            }
            for (i = 1; i < 20; i += 2)
            {
                stonelist.Add(new SemiPreciousStone("Semiprecious Stone " + i, i / 5 + i / 150, i * 120 + i / 7));
            }
            return new List<Stone>();
        }
        public Tuple<int, int> OtherOperationsTwo(List<Stone> stonelist) 
        {
            foreach (Stone stone in stonelist)
            {
                if (stone.price < 1000)
                {
                    k++;
                }
                else if (stone.price > 1000)
                {
                    m++;
                }
            }
            return new Tuple<int, int>(k, m);
        }
    }
}
Вопрос такой: как передать новый список во второй метод?
SKyzZz вне форума Ответить с цитированием
Старый 12.10.2014, 19:01   #2
Luuzuk
Форумчанин
 
Аватар для Luuzuk
 
Регистрация: 18.01.2012
Сообщений: 975
По умолчанию

Тадааам.
Код:
OtherOperationsTwo(OtherOperationsOne());
Благодарить в репутацию. Проклинать — туда же
Luuzuk вне форума Ответить с цитированием
Старый 12.10.2014, 20:17   #3
SKyzZz
Пользователь
 
Регистрация: 14.02.2011
Сообщений: 43
По умолчанию

Цитата:
Сообщение от Luuzuk Посмотреть сообщение
Тадааам.
Код:
OtherOperationsTwo(OtherOperationsOne());
Гениально и это по вашему должно работаь да?
SKyzZz вне форума Ответить с цитированием
Старый 12.10.2014, 20:44   #4
phomm
personality
Старожил
 
Аватар для phomm
 
Регистрация: 28.04.2009
Сообщений: 2,882
По умолчанию

Цитата:
Сообщение от Luuzuk Посмотреть сообщение
Тадааам.
Код:
OtherOperationsTwo(OtherOperationsOne());
Ответ верный по существу вопроса, но толку от этого не будет, т.к. у автора OtherOperationsOne() возвращает new List<Stone>(); (который пуст, Ваш Кэп).
Вот если его переписать, чтобы возвращал stonelist, тогда будет норм.
Ну или ещё как-то переделать. Но Вам, бы , автор, выражаться яснее, получше описать задачу, входные и выходные данные, чтобы советовать предметно, а так - как спросили, так и ответили.

Последний раз редактировалось phomm; 12.10.2014 в 20:46.
phomm вне форума Ответить с цитированием
Старый 12.10.2014, 21:15   #5
Luuzuk
Форумчанин
 
Аватар для Luuzuk
 
Регистрация: 18.01.2012
Сообщений: 975
По умолчанию

Цитата:
и это по вашему должно работаь да?
Цитата:
новый список во второй метод
Что хотел то и получил, чё
Благодарить в репутацию. Проклинать — туда же
Luuzuk вне форума Ответить с цитированием
Старый 12.10.2014, 21:18   #6
SKyzZz
Пользователь
 
Регистрация: 14.02.2011
Сообщений: 43
Сообщение

Цитата:
Сообщение от phomm Посмотреть сообщение
Ответ верный по существу вопроса, но толку от этого не будет, т.к. у автора OtherOperationsOne() возвращает new List<Stone>(); (который пуст, Ваш Кэп).
Вот если его переписать, чтобы возвращал stonelist, тогда будет норм.
Ну или ещё как-то переделать. Но Вам, бы , автор, выражаться яснее, получше описать задачу, входные и выходные данные, чтобы советовать предметно, а так - как спросили, так и ответили.
class Stone:
Код:
using System;

namespace ConsoleAppStone
{
    public class Stone
    {   
        public String name;
        public double weight;
        public double price;
        public String getName()
        {
            return name;
        }
        public double getWeight()
        {
            return weight;
        }
        public double getPrice()
        {
            return price;
        }
    }
}
class GeneratiorStone:
Код:
using System;
using System.Collections.Generic;

namespace ConsoleAppStone
{
    public class GeneratiorStone
    {
        int i;
        int k = 0, m = 0;
        List<Stone> stonelist = new List<Stone>();
        public List<Stone> OtherOperationsOne()
        {
            for (i = 0; i < 20; i += 2)
            {
                stonelist.Add(new PreciousStone("Precious Stone " + i, i / 10 + i / 100, i / 1000));
            }
            for (i = 1; i < 20; i += 2)
            {
                stonelist.Add(new SemiPreciousStone("Semiprecious Stone " + i, i / 5 + i / 150, i * 120 + i / 7));
            }
            return stonelist;
        }
        public Tuple<int, int> OtherOperationsTwo(List<Stone> stonelist) 
        {
            foreach (Stone stone in stonelist)
            {
                if (stone.price < 1000)
                {
                    k++;
                }
                else if (stone.price > 1000)
                {
                    m++;
                }
            }
            return new Tuple<int, int>(k, m);
        }
    }
}
class SemiPreciousStone:

Код:
using System;

namespace ConsoleAppStone
{
    public class SemiPreciousStone : Stone
    {
        public SemiPreciousStone(String name, double weight, double price)
        {
            this.name = name;
            this.weight = weight;
            this.price = price;
        }
        public void setName(String name)
        {
            this.name = name;
        }
        public void setWeight(double weight)
        {
            this.weight = weight;
        }
        public void setPrice(double price)
        {
            this.price = price;
        }
    }
}
class PreciousStone:
Код:
using System;

namespace ConsoleAppStone
{
    class PreciousStone : Stone
    {
        public PreciousStone(String name, double weight, double price)
        {
            this.name = name;
            this.weight = weight;
            this.price = price;
        }
        public void setName(String name)
        {
            this.name = name;
        }
        public void setWeight(double weight)
        {
            this.weight = weight;
        }
        public void setPrice(double price)
        {
            this.price = price;
        }
    }
}
Как вы уже заметили, у меня список объектов класса Stone, который я создаю в классе GeneratiorStone и конечно обратив внимание, что потом я создаю объекты этого класса в OtherOperationsOne и подаю в метод OtherOperationsTwo для вычисления кол-ва камней определенной стоимости и отправляю результаты в другой класс. Задача наверное состоит в том , чтобы объяснить в этом говнокоде, как мне передать список генерируемых объектов в другой метод, чтобы я смог в нем работать с ним! А лучше создать ООП-класс с гет-сетом этого списка объектов, чтобы по всем классам, можно было работать с ним! Спасибо!
SKyzZz вне форума Ответить с цитированием
Старый 12.10.2014, 21:23   #7
SKyzZz
Пользователь
 
Регистрация: 14.02.2011
Сообщений: 43
По умолчанию

Цитата:
Сообщение от Luuzuk Посмотреть сообщение
Что хотел то и получил, чё
Согласен, не так поставил вопрос, слишком много употреблял углеводов)
SKyzZz вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Передача списка в функцию romka_f Помощь студентам 0 14.04.2013 17:23
Передача данных посредством выпадающего списка(POST) manula PHP 5 06.03.2013 14:30
Передача выбранной строки из выпадающего списка в следующий обработчик (страницу) Des PHP 1 07.11.2010 21:33
Передача списка указателей (TList) как параметр в dll sneksnek2006 Общие вопросы C/C++ 1 28.10.2010 11:33
Передача списка и combobox'а через indy udp xatrix Общие вопросы Delphi 2 18.07.2010 16:14