![]() |
|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 24.03.2018
Сообщений: 4
|
![]()
Помогите доработать код. Код не выводит значения в консоль, она сразу же закрывается. Знаю, что нужно добавить Console.WriteLine(); / Console.ReadLine();
Код: namespace ConsoleApp1 { public class Program { static void Main(string[] args) { var dic = new CustomDic<string, Озеро>(); dic.Add("Байкал", new Озеро { Глубина = 1, Название = "Байкал", Площадь = 2 }); dic.Add("Синевир", new Озеро { Глубина = 2, Название = "Синевир", Площадь = 3 }); dic.Remove("Байкал"); } } public class Озеро { public string Название { get; set; } public int Глубина { get; set; } public int Площадь { get; set; } } public class HashElement<K, T> { public K Key { get; private set; } public T Value { get; private set; } public HashElement(K key, T value) { Key = key; Value = value; } } public class CustomDic<K, T> where K : IComparable { private HashElement<K, T>[] arr; private int index; public CustomDic(int count = 4) { if (count < 1) throw new ArgumentException("неверный базовый размер", "count"); arr = new HashElement<K, T>[count]; index = 0; } public void Add(K key, T value) { if (arr.Any(x => x?.Key.CompareTo(key) == 0)) throw new ArgumentException("такой ключ уже есть"); if (index == int.MaxValue) throw new OverflowException("слишком много элементов"); arr[index] = new HashElement<K, T>(key, value); while (index < arr.Length && arr[index] != null) index++; if (index > arr.Length && index != int.MaxValue) { var newSize = unchecked(arr.Length * 2); if (newSize < 0) newSize = int.MaxValue; Array.Resize(ref arr, newSize); } } public void Remove(K key) { for (var i = 0; i < arr.Length; i++) { if (arr[i]?.Key.CompareTo(key) == 0) { arr[i] = null; index = Math.Min(index, i); } } } public T this[K ключ] => arr.First(x => x?.Key.CompareTo(ключ) == 0).Value; } } Последний раз редактировалось Deyner; 15.04.2018 в 17:44. |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
![]()
дык добавьте.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
![]() |
![]() |
![]() |
#3 |
Регистрация: 24.03.2018
Сообщений: 4
|
![]()
У меня не выходит, добавляю Console.WriteLine(); / Console.ReadLine(); , но консоль остается пустой. Помогите доработать код, чтоб все работало как нужно
|
![]() |
![]() |
![]() |
Опции темы | Поиск в этой теме |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Доработка кода | mogo | C# (си шарп) | 12 | 18.02.2014 02:04 |
Доработка VBA кода | MaxxVer | Microsoft Office Excel | 6 | 19.04.2012 15:38 |
Доработка кода авторизации | Fastah | БД в Delphi | 1 | 22.03.2011 12:25 |
Доработка кода авторизации | Fastah | Помощь студентам | 7 | 22.03.2011 11:45 |
С++ нужна корректировка\доработка кода. | Akmall | Помощь студентам | 3 | 10.12.2010 22:51 |