Как выбрать наибольшее значение?

RipWay

Client
Регистрация
21.11.2013
Сообщения
101
Благодарностей
46
Баллы
28
Всем привет. Подскажите как из списка значений выбрать наиболее часто встречающееся?

Например

8
1
1
2
1
344
13
4

Как мне выбрать это значение, а именно (1) ?
 

Lexicon

Client
Регистрация
27.12.2012
Сообщения
1 775
Благодарностей
901
Баллы
113
построить таблицу сопряжения, и отсортировать от большего к меньшему)
Я такие плюшки предпочитаю делать через R
В вашем случае можно и на сниппетах, но хотелось бы точно представлять что будет в списке
 

RipWay

Client
Регистрация
21.11.2013
Сообщения
101
Благодарностей
46
Баллы
28
построить таблицу сопряжения, и отсортировать от большего к меньшему)
Я такие плюшки предпочитаю делать через R
В вашем случае можно и на сниппетах, но хотелось бы точно представлять что будет в списке
парсятся id пользователей которые оставили сообщения, и мне нужен id того кто больше всех оставил сообщений, вот как его выбрать не знаю.
 
  • Спасибо
Реакции: LightWood

Irbis

Client
Регистрация
02.03.2014
Сообщения
195
Благодарностей
120
Баллы
43
Попробуйте методом запроса LINQ:
Код:
int result;
return result = (from v in project.Lists["Список 1"] select Convert.ToInt32(v)).GroupBy(g => g).OrderByDescending(o => o.Count()).FirstOrDefault().Key;
Код будет работать если в списке только целые числа.
 
  • Спасибо
Реакции: RipWay

Lexicon

Client
Регистрация
27.12.2012
Сообщения
1 775
Благодарностей
901
Баллы
113
Эх... надо таки сесть на попу и добить linq, а то что то проходит мимо меня)
 

RipWay

Client
Регистрация
21.11.2013
Сообщения
101
Благодарностей
46
Баллы
28
Попробуйте методом запроса LINQ:
Код:
int result;
return result = (from v in project.Lists["Список 1"] select Convert.ToInt32(v)).GroupBy(g => g).OrderByDescending(o => o.Count()).FirstOrDefault().Key;
Код будет работать если в списке только целые числа.
Спасибо! Я так понял это код c# ? А можно пример шаблона, а то я программировании 0 (
 

Irbis

Client
Регистрация
02.03.2014
Сообщения
195
Благодарностей
120
Баллы
43
  • Спасибо
Реакции: bedl0 и RipWay

RipWay

Client
Регистрация
21.11.2013
Сообщения
101
Благодарностей
46
Баллы
28

RipWay

Client
Регистрация
21.11.2013
Сообщения
101
Благодарностей
46
Баллы
28
Видимо нужно было сразу мне указать длину возможного id? потому что в логе ошибка

Выполнение действия CSharp OwnCode Значение было недопустимо малым или недопустимо большим для Int32.

А id вот такие
426381599850
426381599850
426381599850
101516983716
571541923079
426381599850
426381599850
426381599850
571541923079
426381599850
426381599850
А если поставить int64 вот такая ошибка в логе

Компиляция кода Ошибка в действии "CS0266" "Неявное преобразование типа "long" в "int" невозможно. Существует явное преобразование (возможно, отсутствует приведение)". [Строка: 2; Cтолбец: 17]
 

Irbis

Client
Регистрация
02.03.2014
Сообщения
195
Благодарностей
120
Баллы
43
Для Long вот такой код:
Код:
long result;
return result = (from v in project.Lists["Список 1"] select Convert.ToInt64(v)).GroupBy(g => g).OrderByDescending(o => o.Count()).FirstOrDefault().Key;
А если Long мало, тогда пробуйте этот код:
Код:
System.Numerics.BigInteger result;
return result = (from v in project.Lists["Список 1"] select System.Numerics.BigInteger.Parse(v)).GroupBy(g => g).OrderByDescending(o => o.Count()).FirstOrDefault().Key;
Чтобы последний код работал - добавьте ссылку на сборку: System.Numerics
 
Последнее редактирование:
  • Спасибо
Реакции: RipWay и Nick

RipWay

Client
Регистрация
21.11.2013
Сообщения
101
Благодарностей
46
Баллы
28
Для Long вот такой код:
Код:
long result;
return result = (from v in project.Lists["Список 1"] select Convert.ToInt64(v)).GroupBy(g => g).OrderByDescending(o => o.Count()).FirstOrDefault().Key;
Вот что пишет
Тип Время Сообщение
15:59:43 Выполнение действия CSharp OwnCode Входная строка имела неверный формат.

А если Long мало, тогда пробуйте этот код:
Код:
System.Numerics.BigInteger result;
return result = (from v in project.Lists["Список 1"] select System.Numerics.BigInteger.Parse(v)).GroupBy(g => g).OrderByDescending(o => o.Count()).FirstOrDefault().Key;
Чтобы последний код работал - добавьте ссылку на сборку: System.Numerics
А как добавить эту ссылку?
 

Irbis

Client
Регистрация
02.03.2014
Сообщения
195
Благодарностей
120
Баллы
43
Вот что пишет
Тип Время Сообщение
15:59:43 Выполнение действия CSharp OwnCode Входная строка имела неверный формат.
Скорее всего строка была не целым числом.
А как добавить эту ссылку?
Третий снизу экшен.
 
  • Спасибо
Реакции: RipWay

RipWay

Client
Регистрация
21.11.2013
Сообщения
101
Благодарностей
46
Баллы
28
Скорее всего строка была не целым числом.

Третий снизу экшен.
Спасибо большое, очень помогли! Код написан правильно, просто была в конце пустая строка, убрал её и все ок! Еще рас спасибо!
 

Кто просматривает тему: (Всего: 3, Пользователи: 0, Гости: 3)