Ich möchte ein zweidimensionales Array von unterschiedlichem Typ erstellen, wie ich dem Array zwei Werte hinzufügen kann, eins davon ist Controlname und das zweite ist boolescher Wert.Definiere zweidimensionales dynamisches Array mit verschiedenen Typen
Antwort
Sie können das nicht tun. Stattdessen sollten Sie eine Klasse erstellen, die diese beiden Eigenschaften enthält, dann können Sie ein Array dieses Typs erstellen:
public class MyClass
{
public string ControlName {get;set;}
public bool MyBooleanValue {get;set;}
}
public MyClass[] myValues=new MyClass[numberOfItems];
Oder, wie Anders sagt, ein Wörterbuch verwenden, wenn eine der Eigenschaften gemeint ist, verwendet werden, um Suchvorgänge durchführen.
Wenn Sie einen booleschen Wert nach Steuerelementnamen suchen/setzen möchten, können Sie eine Dictionary<string, bool>
verwenden.
Sie können das nicht mit einem Array.
Vielleicht sollten Sie eine Dictionary verwenden?
Ein generisches Wörterbuch von Dictionary<string,bool>
scheint die Art von Sache zu sein, die für Ihre Beschreibung arbeiten wird.
Verwenden Sie das Wörterbuch < string, bool >. Wenn Sie aus irgendeinem Grund wirklich ein Array benötigen, versuchen Sie das Objekt [,] und übergeben Sie die Werte an die gewünschten Typen.
Ein Wörterbuch funktioniert für das, was Sie dann tun möchten.
Dictionary<string, bool> controllerDictionary = new Dictionary<string, bool>();
Um einen Wert
if (controllerDictionary.ContainsKey(controllerName))
controllerDictionary[controllerName] = newValue;
else
controllerDictionary.Add(controllerName, newValue);
auf einen Wert
if (controllerDictionary.ContainsKey(controllerName))
return controllerDictionary[controllerName];
else
//return default or throw exception
Sie können einfach 'controllerDictionary [controllerName] = newValue;' verwenden, die 'ContainsKey' und' Add' sind nicht erforderlich –
Ye, das ist wahr, es ist nur benötigt für die die erhalten –
andere Art und Weise zu bekommen, es zu tun ist einen Array vom Typ Objekt zu erstellen, zu setzen und diese dann zu einem Arraylist hinzufügen . Hier ist ein Beispielcode:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Collections;
using System.Collections.Generic;
namespace Collections
{
class Program
{
static void Main(string[] args)
{
ArrayList ar = new ArrayList();
object[] o = new object[3];
// Add 10 items to arraylist
for (int i = 0; i < 10; i++)
{
// Create some sample data to add to array of objects of different types.
Random r = new Random();
o[0] = r.Next(1, 100);
o[1] = "a" + r.Next(1,100).ToString();
o[2] = r.Next(1,100);
ar.Add(o);
}
}
}
}
Es hängt davon ab, wie Sie Ihre Array verwenden möchten. Möchten Sie den Wert nach einem Schlüssel oder nach seinem Index suchen? Konamiman schlug eine Klasse vor. Aber eine Klasse mit zwei Typen ist nichts anderes als ein Dictionary<type of key, type of value>
. Sie können ein Wörterbuch verwenden, wenn Sie den Wert mit einem Schlüssel erhalten möchten. Wie so:
Dictionary<string, int> MyDict = new Dictionary<string, int>();
MyDict.Add("Brutus", 16);
MyDict.Add("Angelina", 22);
int AgeOfAngelina = MyDict["Angelina"];
Jetzt ist der Nachteil eines Wörterbuchs ist, dass Sie nicht über sie laufen kann. Die Reihenfolge ist unbestimmt. Sie können MyDict[0].Value
nicht verwenden, um das Alter von Brutus (das ist 16) zu erhalten.
könnten Sie verwenden ein
List<KeyValuePair<string, int>> MyList = new List<KeyValuePair<string, int>>();
durch eine 2D-Anordnung von zwei unterschiedlichen Typen als List
unterstützt Iteration iterieren. Aber dann wieder, können Sie nicht das Alter von Angelina von MyList["Angelina"].Value
erhalten, aber Sie müssten MyList[0].Value
verwenden.
Aber Sie könnten auch eine Datentabelle verwenden. Aber es erfordert etwas mehr Arbeit, um die Tabelle mit ihren Spalten zu initialisieren.
Natürlich können Sie mit LINQ erweitern, um Abfragen auf Ihre Daten zu verwenden. –
Seit wann kann ich nicht über ein Wörterbuch iterieren? – claudekennilol
„Ein mehrdimensionales Array ist ein Array: alle elementsin alle Dimensionen haben die gleiche Art“
- 1. Zweidimensionales Array verschiedener Typen
- 2. Ungültige Typen: 'Array' und 'dynamisches Array'
- 3. Zweidimensionales Array mit Vektor
- 4. typescript multidimensionales Array mit verschiedenen Typen
- 5. Tupel mit verschiedenen Typen
- 6. Zweidimensionales Array (Multiplikation/Division)
- 7. Wie definiere ich ein Array von benutzerdefinierten Typen in WSDL?
- 8. ListBox & Zweidimensionales Array VB.net
- 9. Segmentierungsfehler zweidimensionales Array
- 10. Diagonal zweidimensionales Array sortieren
- 11. Zweidimensionales Array-Additionsproblem
- 12. 'Crop' ein zweidimensionales Array?
- 13. Zweidimensionales Array mit unterschiedlichen Längen (Java)
- 14. Operator Überladung mit verschiedenen Typen
- 15. Verweis auf ein zweidimensionales Array
- 16. Um zweidimensionales Array zu erstellen
- 17. zweidimensionales Array zwischen Klassen | Java
- 18. Zweidimensionales Array in Java schreiben
- 19. Zweidimensionales assoziatives Array in PHP
- 20. Wie Schleife durch zweidimensionales Array?
- 21. Wie memset oder fill_n verwenden, um ein dynamisches zweidimensionales Array in C++ initialisieren
- 22. Zugriff auf dynamisches Array mit Aufzählungstyp
- 23. Definiere 2D Array mit C++ MATLAB API
- 24. Dynamisches Objekt-Array
- 25. Dynamisches mehrdimensionales Array
- 26. Dynamisches Array Javascript
- 27. Dynamisches Array von Klassenzeigern
- 28. Wie kann man ein Array von verschiedenen Typen korrekt entfernen?
- 29. Dynamisches Array in C#
- 30. dynamisches Array in C#
Ich bin nicht sicher, ich verstehe Ihre Frage, aber nicht ein Wörterbuch Arbeit für das, was wollen Sie tun ? Versuchen Sie, Schlüssel/Wert-Paare zu speichern? –
ja .............. – Harikrishna