Hirdetés
Új hozzászólás Aktív témák
-
Karma
félisten
válasz
tototos
#5623
üzenetére
Íme:
class LDF_akarmi
{
private DataTable _signals = new DataTable("Signals");
private DataTable _frames = new DataTable("Frames");
public LDF_akarmi()
{
InitTable(_signals, SignalTableColumns);
InitTable(_frames, FrameTableColumns);
}
private static readonly IList<Tuple<string, Type>> SignalTableColumns = new[]
{
new Tuple<string, Type>("Name", typeof(string)),
new Tuple<string, Type>("Size", typeof(byte)),
new Tuple<string, Type>("Initval", typeof(UInt16)),
new Tuple<string, Type>("TypeID", typeof(string)),
};
private static readonly IList<Tuple<string, Type>> FrameTableColumns = new Tuple<string, Type>[]
{
new Tuple<string, Type>("Name", typeof(string)),
new Tuple<string, Type>("ID", typeof(UInt16)),
new Tuple<string, Type>("Size", typeof(byte)),
new Tuple<string, Type>("SlotTime", typeof(Single)),
new Tuple<string, Type>("Transmit", typeof(byte))
};
private void InitTable(DataTable table, IEnumerable<Tuple<string, Type>> columns)
{
table.Columns.AddRange(columns.Select(col => new DataColumn(col.Item1, col.Item2)).ToArray());
}
}Szerintem elég drasztikus a különbség. A DataColumn[] tagváltozóid egyébként meg teljesen feleslegesek, így tömörítve meg még csak létre se jönnek külön. Ja és for ciklus se kellett, hiszen van AddRange metódusa a Columnsnek

Amúgy miért használsz DataSetet meg DataTable-t? Megjelenítésnél kihasználod ezeket az osztályokat? Mert ha nem, akkor valószínűleg jobban járnál, ha a Signalnak és a Frame-nek külön osztályt vezetnél be az ilyet táblás zsonglőrködés helyett.
Új hozzászólás Aktív témák
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- BESZÁMÍTÁS! ASROCK B650M R7 7700 32GB DDR5 1TB SSD RX 6900XT 16GB Zalman Z1 PLUS Seasonic 750W
- Apple iPhone 15 Pro 128GB, Kártyafüggetlen, 1 Év Garanciával
- Telefon felvásárlás!! iPhone 16/iPhone 16 Plus/iPhone 16 Pro/iPhone 16 Pro Max
- Újszerű Apple Macbook Air 13 - M2 - 8/256GB (MLY33MG/A) éjfekete - 24 Ciklus - 100% akkumulátor- HUN
- Bomba ár! Lenovo ThinkPad L480 - i5-8GEN I 8GB I 256SSD I 14" FHD Touch I HDMI I Cam I W11 I Gari!
Állásajánlatok
Cég: BroadBit Hungary Kft.
Város: Budakeszi
Cég: ATW Internet Kft.
Város: Budapest



