Отсортируйте массив структур в.NET

Вы делаете его слишком сложным. Это - причина, каскад существует. Просто обеспечьте свои селекторы элемента и классифицируйте свой цвет:

h1 {
   color: #000;
}
.a-theme-color {
   color: #333;
}

Тогда применяют его к элементам в HTML, переопределяя, когда необходимо использовать цвета темы.

<h1>This is my heading.</h1>
<h1 class="a-theme-color">This is my theme heading.</h1>
5
задан Robinicks 17 November 2009 в 21:10
поделиться

4 ответа

Предполагается, что структура имеет свойство с именем MPH:

cars = cars.OrderBy(Function(c) c.MPH)

Примечание: приведенный выше код был автоматически преобразован из следующего кода C # (в случае, если он содержит ошибки):

cars = cars.OrderBy(c => c.MPH);
14
ответ дан 18 December 2019 в 07:30
поделиться

Я не знаю VB.NET, но у вас должно получиться это сделать с помощью IComparer. Взгляните на этот пример

http://www.java2s.com/Code/VB/Data-Structure/UseIComparertosortbydifferentproperties.htm

В качестве альтернативы вы также можете использовать Linq

2
ответ дан 18 December 2019 в 07:30
поделиться

Самый простой способ выполнить сортировку - использовать LINQ to Objects.

Dim q = From c In cars Order By c.MPH Select c
4
ответ дан 18 December 2019 в 07:30
поделиться

Другая возможность, которая не использует Linq, а вместо этого использует метод сортировки класса .Net Array:

Module Module1
    Structure stCar
        Dim Name As String
        Dim MPH As String

        Sub New(ByVal _Name As String, ByVal _MPH As Integer)
            Name = _Name
            MPH = _MPH
        End Sub
    End Structure

    Class CarCompareMph : Implements IComparer

        Public Function Compare(ByVal x As Object, ByVal y As Object) As Integer Implements System.Collections.IComparer.Compare
            Dim xCar As stCar = DirectCast(x, stCar)
            Dim yCar As stCar = DirectCast(y, stCar)
            Return New CaseInsensitiveComparer().Compare(xCar.MPH, yCar.MPH)
        End Function
    End Class

    Sub Main()
        Dim cars() As stCar = {New stCar("honda", 50), New stCar("ford", 10)}
        Array.Sort(cars, New CarCompareMph)

        For Each c As stCar In cars
            Console.WriteLine("{0} - {1} MPH", c.Name, c.MPH)
        Next
    End Sub

End Module

Я не уверен, что вы ищете, но это другой подход.

1
ответ дан 18 December 2019 в 07:30
поделиться
Другие вопросы по тегам:

Похожие вопросы: