Tengo lo que es esencialmente una matriz dentada de pares de valores de nombres? Necesito generar un conjunto de valores de nombres únicos a partir de esto. la matriz dentada tiene aproximadamente 86,000 x 11 valores. No me importa de qué manera tengo que almacenar un par de nombre y valor (una sola cadena "nombre = valor" o una clase especializada, por ejemplo, KeyValuePair).
Información adicional: Hay 40 nombres distintos y un número mayor de valores distintos, probablemente en la región 10.000 valores.¿Cuál es la forma más rápida de generar un conjunto único en .net 2
Estoy usando C# y .NET 2.0 (y el rendimiento es tan bajo que estoy pensando que puede ser mejor empujar toda mi matriz irregular en una base de datos sql y hacer una selección distinta desde allí).
A continuación se muestra el código actual Im usando:
List<List<KeyValuePair<string,string>>> vehicleList = retriever.GetVehicles();
this.statsLabel.Text = "Unique Vehicles: " + vehicleList.Count;
Dictionary<KeyValuePair<string, string>, int> uniqueProperties = new Dictionary<KeyValuePair<string, string>, int>();
foreach (List<KeyValuePair<string, string>> vehicle in vehicleList)
{
foreach (KeyValuePair<string, string> property in vehicle)
{
if (!uniqueProperties.ContainsKey(property))
{
uniqueProperties.Add(property, 0);
}
}
}
this.statsLabel.Text += "\rUnique Properties: " + uniqueProperties.Count;
¿Podría dar algunos ejemplos más de cómo son los datos? No estoy seguro de entender lo que estás tratando de hacer aquí. ¿Quieres un conjunto en las teclas, o las parejas? –
Estoy con esteras: no entiendo muy bien de dónde viene el conjunto irregular. Un código de muestra que muestre los datos de entrada sería realmente útil. –
En su matriz dentada, ¿hay una correlación de muchos a muchos entre nombres y valores? ¿Está tratando de obtener una correlación de uno a uno o una correlación de uno a muchos como resultado (de nuevo nombres a valores)? Si puede responder esto, entonces puedo proporcionar una respuesta mejor formada. –