Laden...

Array Umwandlung bei Variabler Länge des Arrays

Erstellt von GenApophis vor 5 Jahren Letzter Beitrag vor 5 Jahren 1.223 Views
G
GenApophis Themenstarter:in
2 Beiträge seit 2018
vor 5 Jahren
Array Umwandlung bei Variabler Länge des Arrays

Hi,
ich bin noch relativ neu im C# und hoffe das ist eine nicht ganz zu dumme frage:

Ich habe ein Array, welches ich aus einer MySql Datenbank auslese, in welchem wiederrum unterarrays enthalten sind, diese sind wie folgt aufgebaut, die Anzahl der Unterarrays kann variieren.

[[Variable_1,1],[Variable_2,0],[Variable_3,1]...]

Jetzt möchte ich gerne das ganze in einem Array auslesen, wie mache ich das am besten?
Es geht mir darum die einzelnen Variablen in einem DataGridView aufreihen und mit dem TinyInt welcher mir als ja/nein steht ebend anzeigen lassen.

P.S.: Wie ich einen DataGridView erstelle und fülle weiß ich schon ;-P

Danke schonmal für die Hilfe

1
124 Beiträge seit 2012
vor 5 Jahren

Hallo,

Wie erhälst du das Array denn als string?
Wenn deine angegebenen Variablen ein string ist, dann kannst du dies am besten mit RegEx einlesen.

Arrays sollten nach Möglichkeit vermieden werden. Hier sind Listen besser.

709 Beiträge seit 2008
vor 5 Jahren

Hallo und willkommen GenApophis,

als Nachfrage, ob ich das richtig verstanden habe: Du willst also aus [[Variable_1,1],[Variable_2,0],[Variable_3,1]...] das machen: [Variable_1,1,Variable_2,0,Variable_3,1,...]?

G
GenApophis Themenstarter:in
2 Beiträge seit 2018
vor 5 Jahren

Hi,
@123thomas, ich habe tatsächlich noch nicht an RegEx gedacht, das muss ich mir mal anschauen.
Es muss leider in diesem Format bleiben, an dem Ursprung wie es in der datenbank eingetragen ist kann ich nichts ändern.

@pinki, ich glaube das haast du falsch verstanden, ich wollte eine GridViwList damit befüllen wo im endeffect folgendes zu sehen ist:
Variable_1 1
Variable_2 0
Variable_3 1
...

3.003 Beiträge seit 2006
vor 5 Jahren
  • neues Projekt
  • Form hinzufügen
  • Datagrid auf das Form ziehen
  • neue Klassen hinzufügen:

public class DataGridModel
{
    [DisplayName("Variablenname")]
    public string Name { get; set; }
    [DisplayName("ist gesetzt")]
    public bool IsSet { get; set; }
}

public class DataAdapter
{
    public IEnumerable<DataGridModel> Load(object[][] sqlOutput) => sqlOutput.Select(p => new DataGridModel {Name = p[0].ToString(), IsSet = p[1].Equals(1)});

}

Code-Behind deines neuen Forms erweitern:


public partial class MainForm : Form
{
    public MainForm()
    {
        InitializeComponent();
        dataGridView1.DataSource = new DataAdapter().Load(new[]
        {
            new object[] { "Variable_1", 1 },
            new object[] { "Variable_2", 0 },
            new object[] { "Variable_3", 1 },
            new object[] { "Variable_4", 0 },
            new object[] { "Variable_5", 1 }
        }).ToList();
    }
}

Done.

LaTino

"Furlow, is it always about money?"
"Is there anything else? I mean, how much sex can you have?"
"Don't know. I haven't maxed out yet."
(Furlow & Crichton, Farscape)