У меня есть то, что по существу является зубчатым массивом пар значений имени - мне нужно создать набор уникальных значений имени из этого. массив с зазубриной составляет около 86 000 x 11 значений. Мне не важно, как мне хранить пару значений имени (одна строка «name = value» или специализированный класс, например KeyValuePair).
Дополнительная информация: Существует 40 различных наименований и большее количество различных значений - возможно, в области 10 000 значений.Каков самый быстрый способ создания уникального набора в .net 2
Я использую C# и .NET 2.0 (и производительность настолько плохая, что я думаю, что лучше всего нажать весь мой зубчатый массив в базу данных sql и сделать выделение отличным от него).
Ниже текущий код Im используя:
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;
Не могли бы вы привести еще несколько примеров того, как выглядят данные? Я не уверен, что понимаю, что вы пытаетесь сделать здесь. Вам нужен набор на клавишах или парах? – 2008-10-24 10:27:12
Я с матами - я не совсем понимаю, где находится зубчатый массив. Пример кода, показывающий входные данные, был бы очень удобен. – 2008-10-24 10:33:34
В вашем массиве с зубчатым контуром существует много-много корреляций между именами и значениями? Вы пытаетесь получить соотношение «один к одному» или соотношение «одна-ко-многим» как результат (опять же именуются значениями)? Если вы можете ответить на этот вопрос, я могу дать лучший ответ. – 2008-10-24 13:35:20