Permalänk
Medlem

[C#] Hjälp med array

Jag behöver en array som jag kan tilldela följade värde

data[counter][Name] = Kalle

Counter är ett int värde(ett id) och Name ska ska vara string med information. Jag behöver 5 fält infomation på varje id.

Hur gör jag för deklarera denna array?

Det är alltså i C# jag vill göra detta.

Visa signatur

Bloggar om Hemautomation på HomeAutomateIt.com

Permalänk
Medlem

Du kan inte deklarera en sån array i C#. Du vill inte heller använda en array till det här, utan en HashMap.

Permalänk
Medlem

Länkad lista(LinkedList<dindatastruktur>)?
Vector(Vector<dindatastruktur>)?

där dindatastruktur får innehålla 5 fält ... Name ... och de andra ... kanske alla av typen sträng??

Visa signatur

weeeee

Permalänk
Medlem

Det är två av de fem värdena som kan vara integer, men det funkar med sträng också .
Jag ska skriva värdena till en XML-fil

Hashtable hittade jag något som hette. Vart i bibloteket finns det?

mounte: Det där fattade jag inte så mycket av

Edit: Är det inte en key per värde i en hashtable? Jag vill ha 5 värden på en key

Visa signatur

Bloggar om Hemautomation på HomeAutomateIt.com

Permalänk
Medlem

Om du verkligen vill använda den syntaxen du beskrev för att komma åt dina strängar kan du t.ex. använda något liknande det här..

using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Zoomware.Examples.Collections16 { class Program { static void Main ( string [ ] args ) { List<StringLookup> list = new List<StringLookup> ( ); list.Add ( new StringLookup ( ) ); list.Add ( new StringLookup ( ) ); list [ 0 ] [ "name" ] = "kalle"; list [ 0 ] [ "nick" ] = "kamel"; list [ 1 ] [ "name" ] = "pekz"; list [ 1 ] [ "description" ] = "visar ett exampel"; foreach ( StringLookup lookup in list ) Console.WriteLine ( lookup.ToString ( ) ); Console.ReadKey ( ); } } class StringLookup { public StringLookup ( ) { string [ ] keys = new string [ ] { "name", "nick", "description" }; } public StringLookup ( string [ ] keys ) { foreach ( string key in keys ) holder.Add ( key, string.Empty ); } public string this [ string key ] { get { return holder [ "key" ]; } set { if ( holder.ContainsKey ( key ) ) holder [ key ] = key; else holder.Add ( key, value ); } } public override string ToString ( ) { StringBuilder sb = new StringBuilder ( ); foreach ( string key in holder.Keys ) sb.AppendLine ( string.Format ( "key: {0}, value: {1}", key, holder [ key ] ) ); return sb.ToString ( ); } private Dictionary<string, string > holder = new Dictionary<string, string> ( ); } }

Permalänk
Medlem

En generisk lista med en struktur (struct) som typ borde fungera..
List<DinStrukt> lista = new List<DinStrukt>( 10 );
eller
DinStrukt[] struktVektor = new DinStrukt[10];

Visa signatur

Yay!

Permalänk
Medlem

Typ sähär?

List<user> lista = new List<user>( 10 ); lista.Add(new user("Kalle", 36, "Sverige"));

Edit: hittade en länk: http://www.c-sharpcorner.com/UploadFile/camurphy/csharpLists0...
Det där verkar ju skit bra. Enkelt att sortera listan också.
Tack så mycket för hjälpen!

Edit2: Den tyckte in om List, vad är det jag måste importera för att använda List?

Visa signatur

Bloggar om Hemautomation på HomeAutomateIt.com

Permalänk
Medlem
Visa signatur

Signatur?

Permalänk
Medlem

Nackdelen med List är att du inte direkt kan ändra ett värde i den.

Då får du istället göra nått i denhär stilen

user usr = lista[index]; usr.Namn = "Nytt värde"; lista[index] = usr;

Visa signatur

Yay!