Найдено результатов: 9

Предельный размер очереди в .NET?

У меня есть объект Queue<T>, который я инициализировал до емкости 2, но очевидно, что это просто емкость, и она продолжает расширяться по мере добавления элементов. Есть ли уже объект, который автоматически отменяет запрос элемента при достижении предела, или это лучшее решение для создания моего собственного наследуемого класса?

.net   collections   queue    

405   7   16:03, 1st July, 2020


Сортировка составной коллекции

Таким образом, WPF не поддерживает стандартное поведение сортировки или фильтрации для представлений CompositeCollections, так что было бы лучше всего решить эту проблему.

Существует две или более коллекций объектов различных типов. Вы хотите объединить их в единую сортируемую и фильтруемую коллекцию (без необходимости вручную выполнять сортировку или фильтр).

Один из рассмотренных мною подходов заключается в создании новой коллекции объектов с несколькими основными свойствами, включая те, по которым я хотел бы отсортировать коллекцию, и экземпляр объекта каждого типа.

class MyCompositeObject
{
    enum           ObjectType;
    DateTime       CreatedDate;
    string         SomeAttribute;
    myObjectType1  Obj1;
    myObjectType2  Obj2;
{
class MyCompositeObjects : List<MyCompositeObject> { }

А затем пройдите через мои две коллекции объектов, чтобы построить новую составную коллекцию. Очевидно, что это немного грубый метод, но он будет работать. Я получил бы все стандартные функции сортировки и фильтрации представлений в моей новой коллекции составных объектов, и я мог бы поместить в нее шаблон данных для правильного отображения элементов списка в зависимости от того, какой тип фактически хранится в этом составном элементе.

Какие есть предложения, чтобы сделать это более элегантным способом?

c#   .net   wpf   data-binding   collections    

444   3   23:52, 14th August, 2020


Что это лучший способ, чтобы выполнить итерации через строго типизированный общего списка?

Как лучше всего перебирать строго типизированный универсальный список в C#.NET и VB.NET?

c#   .net   vb.net   generics   collections    

501   7   13:32, 27th August, 2020


Преобразование списка в список

У меня есть список целых чисел, List<Integer> , и я хотел бы преобразовать все целочисленные объекты в строки, таким образом, закончив с новым List<String> .

Естественно, я мог бы создать новый List<String> и пройтись по списку, вызывая String.valueOf() для каждого целого числа, но мне было интересно, есть ли лучший (читай: более автоматический ) способ сделать это?

java   string   collections   integer    

720   19   21:13, 9th August, 2020


ярлык для создания карты из списка в groovy?

Я бы хотел немного сортанд для этого:

Map rowToMap(row) {
    def rowMap = [:];
    row.columns.each{ rowMap[it.name] = it.val }
    return rowMap;
}

учитывая то, как обстоят дела с GDK, я бы ожидал, что смогу сделать что - то вроде:

Map rowToMap(row) {
    row.columns.collectMap{ [it.name,it.val] }
}

но я ничего не видел в документах... я что-то упустил? или я просто слишком ленив?

java   collections   groovy   expandometaclass    

507   8   22:24, 16th August, 2020


Страница общей коллекции без Linq

У меня есть объект типа System.Generic.Collections.List(Of MyCustomClass).

Учитывая целочисленные varaibles pagesize и pagenumber, как я могу собрать только одну страницу объектов MyCustomClass ?

Вот что у меня есть. Как я могу улучшить его?

'my given collection and paging parameters
Dim AllOfMyCustomClassObjects As System.Collections.Generic.List(Of MyCustomClass) = GIVEN
Dim pagesize As Integer = GIVEN
Dim pagenumber As Integer = GIVEN

'collect current page objects
Dim PageObjects As New System.Collections.Generic.List(Of MyCustomClass)
Dim objcount As Integer = 1
For Each obj As MyCustomClass In AllOfMyCustomClassObjects
If objcount > pagesize * (pagenumber - 1) And count <= pagesize * pagenumber Then
    PageObjects.Add(obj)
End If
objcount = objcount + 1
Next

'find total page count
Dim totalpages As Integer = CInt(Math.Floor(objcount / pagesize))
If objcount Mod pagesize > 0 Then
totalpages = totalpages + 1
End If

vb.net   collections   paging    

445   2   09:24, 19th August, 2020


Список или BusinessObjectCollection?

До появления универсальных моделей C# все кодировали коллекции для своих бизнес-объектов, создавая базу коллекций, реализующую IEnumerable

IE:

public class CollectionBase : IEnumerable

и тогда они получат свои коллекции бизнес-объектов из этого.

public class BusinessObjectCollection : CollectionBase

Теперь с общим классом списка, кто-нибудь просто использует это вместо этого? Я обнаружил, что использую компромисс двух методов:

public class BusinessObjectCollection : List<BusinessObject>

Я делаю это, потому что мне нравится иметь строго типизированные имена, а не просто передавать списки.

Каков ваш подход?

c#   .net   generics   collections   class-design    

459   18   13:05, 8th August, 2020


Как лучше всего сравнить две коллекции в Java и действовать по ним?

У меня есть две коллекции одного и того же объекта, Collection<Foo> oldSet и Collection<Foo> newSet . Необходимая логика заключается в следующем:

  • если foo находится в(*) oldSet , но не newSet, вызовите doRemove(foo)
  • иначе, если foo находится не в oldSet , а в newSet, вызовите doAdd(foo)
  • в противном случае, если foo находится в обеих коллекциях, но изменен, вызовите doUpdate(oldFoo, newFoo)
  • еще если !foo.activated && foo.startDate >= now, то звоните doStart(foo)
  • еще если foo.activated && foo.endDate <= now , doEnd(foo) звоните

( * ) "in" означает совпадение уникального идентификатора, но не обязательно содержимого.

Текущий (устаревший) код выполняет множество сравнений, чтобы вычислить removeSet , addSet , updateSet , startSet и endSet, а затем выполнить цикл для каждого элемента.

Код довольно грязный (отчасти потому, что я уже пропустил некоторую логику спагетти), и я пытаюсь его рефакторировать. Еще немного фоновой информации:

  • Насколько я знаю, oldSet и newSet на самом деле подкреплены ArrayList
  • Каждый набор содержит менее 100 элементов, скорее всего, максимум 20
  • Этот код вызывается часто (измеряется в millions/day),, хотя наборы редко отличаются

Мой вопрос:

  • Если я преобразую oldSet и newSet в HashMap<Foo> (порядок здесь не имеет значения), с ключами IDs в качестве ключей, будет ли это облегчать чтение кода и его сравнение? Сколько времени & производительность памяти теряется при преобразовании?
  • Будет ли повторение двух наборов и выполнение соответствующей операции более эффективным и лаконичным?

java   collections    

1151   8   13:03, 20th August, 2020


Фильтрация коллекций в C#

Я ищу очень быстрый способ отфильтровать коллекцию в C#. в настоящее время я использую универсальные List<object> коллекции, но открыт для использования других структур, если они работают лучше.

В настоящее время я просто создаю новый List<object> и зацикливаюсь на исходном списке. Если критерии фильтрации совпадают, я помещаю копию в новый список.

Есть ли лучший способ сделать это? Есть ли способ фильтровать на месте, чтобы не было необходимости во временном списке?

c#   collections   filtering    

596   9   10:38, 16th August, 2020