public void DictionaryCounterInt32_Augment_2() { DictionaryCounterInt32 <string> dictionary = new DictionaryCounterInt32 <string>(_GetComparer()); dictionary.Augment("first", 2); Assert.AreEqual(2, dictionary.GetValue("first")); dictionary.Augment("FIRST", 2); Assert.AreEqual(4, dictionary.GetValue("first")); }
public void DictionaryCounterInt32_Augment_1() { DictionaryCounterInt32 <string> dictionary = new DictionaryCounterInt32 <string>(); dictionary.Augment("first", 2); Assert.AreEqual(2, dictionary.GetValue("first")); dictionary.Augment("first", 2); Assert.AreEqual(4, dictionary.GetValue("first")); }
static void ProcessRecord ( MarcRecord record ) { BookInfo info = new BookInfo(provider, record); string worksheet = info.Worksheet; if (worksheet != "SPEC" && worksheet != "PAZK") { return; } string[] publishers = info.Publishers; int count = info.UsageCount; int exemplars = info.Exemplars.Length; if (count != 0) { foreach (string publisher in publishers) { string trimmed = publisher.Trim(charsToTrim); counter1.Augment(trimmed, count); counter2.Augment(trimmed, exemplars); } } }
static void ProcessRecord ( int mfn ) { irbis.ReadRecord(mfn); NativeRecord record = irbis.GetRecord(); NativeField v933 = record.GetFirstField(933); if (ReferenceEquals(v933, null)) { return; } string index = v933.Value; string description; if (!magazines.ContainsKey(index)) { int[] found = irbis.ExactSearch("I=" + index); if (found.Length == 0) { return; } description = irbis.FormatRecord(found[0]); magazines.Add(index, description); } description = magazines[index]; NativeField v999 = record.GetFirstField(999); int count = ReferenceEquals(v999, null) ? 0 : v999.Value.SafeToInt32(); Console.WriteLine ( "{0}: {1}", irbis.FormatRecord(mfn), count ); counter.Augment(description, count); }
static void Main() { Console.CancelKeyPress += Console_CancelKeyPress; try { using (connection = new IrbisConnection()) { connection.ParseConnectionString(ConnectionString); connection.Connect(); connection.Database = DatabaseName; Console.WriteLine("Подключились"); IEnumerable <MarcRecord> records = BatchRecordReader.WholeDatabase ( connection, DatabaseName, 500 //, rdr => //{ // Console.WriteLine // ( // "{0} из {1}", // rdr.RecordsRead, // rdr.TotalRecords // ); //} ); foreach (MarcRecord record in records) { if (Cancel) { break; } if (record.Deleted) { continue; } ReaderInfo reader = ReaderInfo.Parse(record); if (reader.WorkPlace.SafeContains("ИОГУНБ")) { continue; } int age = reader.Age; int visits = reader.Visits.Count(v => v.IsVisit); if (reader.Gender.SameString("ж")) { FemaleCount++; FemaleAge.Increment(age); FemaleVisits.Augment(age, visits); } else { MaleCount++; MaleAge.Increment(age); MaleVisits.Augment(age, visits); } } } Console.WriteLine("Отключились"); Console.WriteLine(";Муж;Жен;М пос;Ж пос"); Console.WriteLine ( "Всего;{0};{1};{2};{3}", MaleCount, FemaleCount, MaleVisits.Total, FemaleVisits.Total ); for (int age = 12; age < 100; age++) { Console.WriteLine ( "{0};{1};{2};{3};{4}", age, MaleAge.GetValue(age), FemaleAge.GetValue(age), MaleVisits.GetValue(age), FemaleVisits.GetValue(age) ); } } catch (Exception exception) { Console.WriteLine(exception); } }