Во-первых, вам нужно потратить некоторое время на ознакомление с основами языка, чтобы быть продуктивным. Я рекомендую вам уделить немного времени чтению на C #, прежде чем углубляться - в противном случае вы потратите много времени на раскручивание колес или переизобретение их:)
Но вот некоторая информация, с чего можно начать.
Как правило, в C # вы создаете классы для представления элементов вашей программы, включая те, которые используются для представления информации (данных), которой ваша программа намерена манипулировать. Вы действительно должны рассмотреть возможность его использования, так как это сделает манипулирование данными более понятным и более управляемым. Я бы посоветовал избегать нетипизированных многомерных структур массивов, как некоторые могут предположить, поскольку с ними быстро становится очень трудно работать.
Вы можете легко создать класс Referall в C #, используя автоматические свойства и простой конструктор:
public class Referall
{
// these should be named in line with what they represent...
public string FirstString { get; set; }
public string AnotherString { get; set; }
public int SomeValue { get; set; }
public Referall( string first, string another, int value )
{
FirstString = first;
AnotherString = another;
SomeValue = value;
}
}
Вы можете добавлять их в словарь по мере их создания - в словарь можно вводить, какое свойство всегда является уникальным. Словари позволяют хранить объекты на основе уникального ключа:
Dictionary<string,Referall> dict = new Dictionary<string,Referall>();
По мере обработки предметов вы можете добавлять их в словарь:
Referall ref = new Referall( v1, v2, v3 );
// add to the dictionary, keying on FirstString...
dict.Add( ref.FirstString, ref );
Если вам нужно отсортировать элементы в словаре, когда вы закончите, вы можете использовать LINQ в C # 3.0:
IEnumerable<Referall> sortedResults =
dict.Values.OrderBy( x => x.AnotherString );
Вы также можете сортировать по нескольким измерениям, используя ThenBy ():
IEnumerable<Referall> sortedResults =
dict.Values.OrderBy( x => x.AnotherString )
.ThenBy( x => x.SomeValue );