Ich möchte aus einer Tabelle verschiedene Spalten berechnen lassen und versuche das mit einer Funktion um zu setzen.
Der Funktion übergibt man verschiedene Parameter zur Selektion der Daten und die Column zur Berechnung.
Gibt es hier eine bessere Möglichkeit...?
Der Funktion übergibt man verschiedene Parameter zur Selektion der Daten und die Column zur Berechnung.
VB.NET-Quellcode
- 'Funktionsaufruf
- Dim Result As Double = averageSample(10, 15, dts.basisProduktion.ResultXColumn)
- Public Function averageSample(ByVal V1 As Integer, ByVal V2 As Integer, ByVal Column As DataColumn) As Double
- Dim lst As List(Of Double)
- Select Case True
- Case Column Is dts.basisProduktion.Result1Column
- lst = (From rw In dts.basisProduktion Where rw.Wert1 = V1 AndAlso rw.Wert2 <> V2 Select rw.Result1).ToList
- Case Column Is dts.basisProduktion.Result2Column
- lst = (From rw In dts.basisProduktion Where rw.Wert1 = V1 AndAlso rw.Wert2 <> V2 Select rw.Result2).ToList
- Case Column Is dts.basisProduktion.Result3Column
- lst = (From rw In dts.basisProduktion Where rw.Wert1 = V1 AndAlso rw.Wert2 <> V2 Select rw.Result3).ToList
- '...
- Case Else
- Throw New ArgumentException("Die angegebene Column ist in der Tabelle nicht vorhanden!")
- End Select
- Return If(lst.Count > 0, lst.Average, 0.0#)
- End Function
Gibt es hier eine bessere Möglichkeit...?
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „VB1963“ ()