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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 17.03.2018, 16:02   #1
Nezhniy
Пользователь
 
Регистрация: 05.11.2013
Сообщений: 22
По умолчанию Элементы List

Добрый день! Не получается что-то у меня нормально с List Работать.

Итак, есть класс :

Код:
 public class OrderBook
    {
        public string Side { get; set; }
        public double Price { get; set; }
        public int Size { get; set; }
        public long Id { get; set; }
    }
И есть вот такой кусок, который записывает в переменные данные с API:


Код:
  public List<OrderBook> GetOrderBook(string symbol, int depth)
        {
            var param = new Dictionary<string, string>();
            param["symbol"] = symbol;
            param["depth"] = depth.ToString();
            string res = Query("GET", "/orderBook/L2", param);
            return JsonConvert.DeserializeObject<List<OrderBook>>(res);
            
        }
depth - количество записей, забираемых с API OrderBook .

Моя задача вывести все эти записи , которые Json перевел отсюда: , в нормальном виде, желательно табличном.

Смог вывести только переменную первой записи, а как вывести всё в табличном виде?


Код:
  CurrentBook = bitmex.GetOrderBook(ActiveInstrument.Symbol, 3);
  double SellPrice = CurrentBook.Where(a => a.Side == "Sell").FirstOrDefault().Price;
Помогите, пожалуйста!
Nezhniy вне форума Ответить с цитированием
Старый 17.03.2018, 16:27   #2
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Какое отношение JSON и API имеют к вопросу?

Куча бесполезной информации, а самого главного нет — куда и что вывести-то надо.

Если нужно просто в строку преобразовать, то .Select() + String.Join или просто foreach.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 17.03.2018, 16:34   #3
Nezhniy
Пользователь
 
Регистрация: 05.11.2013
Сообщений: 22
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
Какое отношение JSON и API имеют к вопросу?

Куча бесполезной информации, а самого главного нет — куда и что вывести-то надо.

Если нужно просто в строку преобразовать, то .Select() + String.Join или просто foreach.

Ссылка не прикрепилась, извиняюсь. Вот отсюда берутся данные. Данные записываются в List<OrderBook> , но не получается никак у меня вывести всё структурированно, в самой программе, хотя бы в текстбокс, с List мало работал. По идее должна получиться таблица с колонками Side Price Size Id и строки с записями. Можно , пожалуйста, на примере?
Nezhniy вне форума Ответить с цитированием
Старый 17.03.2018, 16:55   #4
WorldMaster
Старожил
 
Аватар для WorldMaster
 
Регистрация: 25.08.2011
Сообщений: 2,841
По умолчанию

Сделайте обычную таблицу типа datagridview. Столбцы там пропишите нужные
а затем в цикле вносите строки туда

Код:

foreach(OrderBook item in CurrentBook )
{
 datagridview1.Rows.Add(new object[]{item.Side, item.Size, item.Price, item.Id});
}
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два.
WorldMaster вне форума Ответить с цитированием
Старый 17.03.2018, 16:56   #5
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,520
По умолчанию

Так а куда выводите в табличном виде?
Всякие WinForms, WPF умеют напрямую биндить к гриду любые объекты, так что List<OrderBook> - это уже вполне себе таблица.
Если в консоль выводить, то можно и так:
Код:
foreach (var book in CurrentBook.Where(a => a.Side == "Sell"))
{
  Console.WriteLine($"{book.Id}\t{book.Side}\t{book.Size}\t{book.Price}");
}
pu4koff вне форума Ответить с цитированием
Старый 17.03.2018, 17:07   #6
Nezhniy
Пользователь
 
Регистрация: 05.11.2013
Сообщений: 22
По умолчанию

Цитата:
Сообщение от WorldMaster Посмотреть сообщение
Сделайте обычную таблицу типа datagridview. Столбцы там пропишите нужные
а затем в цикле вносите строки туда

Код:

foreach(OrderBook item in CurrentBook )
{
 datagridview1.Rows.Add(new object[]{item.Side, item.Size, item.Price, item.Id});
}
Большое спасибо, теперь разобрался!
Nezhniy вне форума Ответить с цитированием
Старый 17.03.2018, 18:05   #7
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,520
По умолчанию

Код:
datagridview1.DataSource = CurrentBook.Where(a => a.Side == "Sell").ToList();
pu4koff вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
C# - Как изменить свойство элемента в list? List<MyClass> kvi2994 C# (си шарп) 1 05.03.2015 18:28
List Структура в List структуре и тд по аналогии с Delphi Кислый C# (си шарп) 3 13.09.2014 21:06
Дан одномерный массив. Переместить максимальные элементы в конец, сдвинув остальные элементы влево Alexbmgn Помощь студентам 2 18.12.2011 17:17
[c++][list] Порядок обработки двух list Padavan Помощь студентам 1 10.05.2011 14:56
Модуль, позволяющий сортировать элементы структуры List a_n_n_a Помощь студентам 6 25.04.2009 09:45