static void Main(string[] args) { if (args.Length < 2) { return; } magazines = new CaseInsensitiveDictionary <string>(); counter = new DictionaryCounterInt32 <string>(); string databasePath = args[0]; filter = args[1]; try { ServerConfiguration configuration = ServerConfiguration.FromIniFile(databasePath); using (irbis = new Irbis64Dll(configuration)) { irbis.Layout = SpaceLayout.Version2014(); irbis.SetStandardIniFile("irbisc.ini"); int[] found = null; irbis.UseDatabase("ibis"); string briefPft = irbis.GetPftPath("sbrief"); irbis.SetFormat("@" + briefPft); found = irbis.Search(filter); if (found.Length == 0) { Console.WriteLine("Noting found"); return; } Console.WriteLine("Found: {0}", found.Length); foreach (int mfn in found) { ProcessRecord(mfn); } Console.WriteLine(); Console.WriteLine(); Console.WriteLine("Всего выдач: {0}", counter.Total); Console.WriteLine(); KeyValuePair <string, int>[] pairs = counter .OrderByDescending(pair => pair.Value) .ToArray(); foreach (KeyValuePair <string, int> pair in pairs) { Console.WriteLine ( "{0}\t{1}", pair.Key, pair.Value ); } } } catch (Exception exception) { Console.WriteLine(exception); } }