Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
-10 / 2 / 1
Регистрация: 08.01.2015
Сообщений: 325
1

Contains for HashSet

08.11.2015, 13:43. Показов 2050. Ответов 15
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Приветствую! Не находит слово: "Москв"
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
HashSet<string> totalCity = new HashSet<string>();
using (StreamReader sr = File.OpenText(path))
{
    string s = "";
    while ((s = sr.ReadLine()) != null)
    {
        totalCity.Add(s);
        Console.WriteLine(s);
    }
}
if(totalCity.Contains("Москв"))
{
    Console.WriteLine("аааа");     
}
Кто знает почему? Заранее спасибо.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.11.2015, 13:43
Ответы с готовыми решениями:

Обсуждение HashSet, в частности- хранит HashSet объекты отсортированными или нет?
Что-то я не могу понять. Смотрите, мне надо запихать 10000 случайных элементов типа Integer в...

HashSet. Удалить объект-класс из HashSet
Всем привет! Есть код: HashSet&lt;Human&gt; humanHashSet = new HashSet(); ...

HashSet
кто может дать полное описание класса HashSet&lt;T&gt;???

HashSet
HashSet позволяет внести одинаковые элементы. Я так понимаю и идентичность обосновывается на хешах,...

15
226 / 225 / 112
Регистрация: 20.10.2013
Сообщений: 808
08.11.2015, 14:10 2
Kenny_Dalglish, можно узнать содержимое файла?
0
-10 / 2 / 1
Регистрация: 08.01.2015
Сообщений: 325
08.11.2015, 15:04  [ТС] 3
nestquik2, Парсинг городов с Yandex Pogoda
0
226 / 225 / 112
Регистрация: 20.10.2013
Сообщений: 808
08.11.2015, 15:11 4
Kenny_Dalglish, просто список названия городов через запятую? Типо: "Новый Афон, Пицунда..."
0
-10 / 2 / 1
Регистрация: 08.01.2015
Сообщений: 325
08.11.2015, 15:13  [ТС] 5
Цитата Сообщение от nestquik2 Посмотреть сообщение
s
Не через запятую,а через специальный символ: "\n"
0
226 / 225 / 112
Регистрация: 20.10.2013
Сообщений: 808
08.11.2015, 15:48 6
Kenny_Dalglish, пробуй это:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
namespace ConsoleApplication4
{
    class Program
    {
        static void Main()
        {
            var totalCity = new HashSet<string>();
            using (var sr = File.OpenText("1.txt"))
            {
                string s;
                while ((s = sr.ReadLine()) != null)
                {
                    totalCity.Add(s);
                    Console.WriteLine(s);
                }
            }
            if (totalCity.Any(x=>x.StartsWith("Москв", StringComparison.InvariantCultureIgnoreCase)))
                Console.WriteLine("аааа");
            Console.ReadKey();
            
        }
    }
}
0
-10 / 2 / 1
Регистрация: 08.01.2015
Сообщений: 325
08.11.2015, 17:22  [ТС] 7
Допустим город найден в HashSet, как получить полную строку по городу?
Допустим город: "Киров"
Надо получить всю строку из HashSet
city = Киров | id = 27199
0
226 / 225 / 112
Регистрация: 20.10.2013
Сообщений: 808
08.11.2015, 17:24 8
Kenny_Dalglish, у тебя изначально задумка не правильная... Создай отдельный класс и от него отталкивайся. А, вообще, объясни что твоя программа должна делать на финальной стадии.
0
708 / 708 / 226
Регистрация: 04.03.2013
Сообщений: 1,384
08.11.2015, 17:30 9
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
using System;
using System.Linq;
using System.Xml.Linq;
 
internal class Program
{
    private static void Main(string[] args)
    {
        string url = "https://pogoda.yandex.ru/static/cities.xml";
        XDocument xmlDocument = XDocument.Load(url);
 
        var city = xmlDocument.Descendants().FirstOrDefault(node => node.Value.Equals("Ньюкасл"));
 
        if (city != null)
            Console.WriteLine("Country: {0}\nCity: {1}\nID: {2}", city.Attribute("country").Value, city.Value, city.Attribute("id").Value);
    }
}
0
-10 / 2 / 1
Регистрация: 08.01.2015
Сообщений: 325
08.11.2015, 17:35  [ТС] 10
Kruds, А теперь попробуй отправить в твоем коде "Москв".
Ну, что краш? Жаль. Повторюсь надо достать полную строку из HashSet.
0
226 / 225 / 112
Регистрация: 20.10.2013
Сообщений: 808
08.11.2015, 17:36 11
Kenny_Dalglish, а я тебе еще раз говорю, либо показывай что ты кладешь в текстовый документ(чтобы я тебе помог), либо переделывай программу полностью с продуманной системой классов.
0
-10 / 2 / 1
Регистрация: 08.01.2015
Сообщений: 325
08.11.2015, 17:37  [ТС] 12
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
if (!File.Exists(dir))
{
    var doc = XDocument.Load("https://pogoda.yandex.ru/static/cities.xml");
    var cityId = doc.Root.Descendants("city").Select(n => new { city = n.Value, id = n.Attribute("id").Value });
    using (FileStream fs = File.Create(dir))
    {
        foreach (var article in cityId)
        {
            Byte[] info =
                new UTF8Encoding(true).GetBytes("city = " + article.city +" | id = "+ article.id +"\n");
            fs.Write(info, 0, info.Length);
        }
    }
}
HashSet<string> totalCity = new HashSet<string>();
using (StreamReader sr = File.OpenText(dir))
{
    string s = "";
    while ((s = sr.ReadLine()) != null)
    {
        totalCity.Add(s);
    }
}
0
226 / 225 / 112
Регистрация: 20.10.2013
Сообщений: 808
08.11.2015, 17:51 13
Kenny_Dalglish, оно?
C#
1
2
3
4
5
6
7
8
9
10
            HashSet<string> totalCity = new HashSet<string>();
            using (var sr = File.OpenText(dir))
            {
                string s;
                while ((s = sr.ReadLine()) != null)
                    totalCity.Add(s);
                foreach (var city in totalCity)
                    if (city.IndexOf("Москв", StringComparison.InvariantCultureIgnoreCase) >= 0)
                        Console.WriteLine(city);
            }
1
-10 / 2 / 1
Регистрация: 08.01.2015
Сообщений: 325
08.11.2015, 17:56  [ТС] 14
nestquik2, Да,спасибо.
0
226 / 225 / 112
Регистрация: 20.10.2013
Сообщений: 808
08.11.2015, 17:57 15
Kenny_Dalglish, но все равно я тебе советую придумать что-то другое, чем тупое хранение строки в HasSet'е, могут быть разные ситуации...
0
708 / 708 / 226
Регистрация: 04.03.2013
Сообщений: 1,384
08.11.2015, 18:07 16
Цитата Сообщение от Kenny_Dalglish Посмотреть сообщение
Ну, что краш?
Вообще-то нет, проверка на null спасает.
Не вполне понятно зачем вам вообще хэшсет с городами и хранение их в файле. Если у вас какое-то приложение которое на лету отдает погоду на ввод пользователя, то схема "мусор на входе - ничего на выходе" вполне подходит.

Добавлено через 1 минуту
В крайнем случае можно предусмотреть механизм всплывающих подсказок.
0
08.11.2015, 18:07
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.11.2015, 18:07
Помогаю со студенческими работами здесь

Дубликаты в HashSet
Здравствуйте. Подскажите, как сделать так, чтобы коллекция HashSet&lt;Integer&gt; hs = new HashSet&lt;&gt;();...

HashSet . TreeSet
С помощью Scanner ввести слова(слово exit останавливает ввод). Используя HashSet получить...

Hashset и Dictionary
Есть структура. Какой интерфейс нужно реализовать, чтобы при работе с Hashset&lt;MyStruct&gt; и...

ArrayList vs HashSet
Добрый день,я хотел бы узнать почему hashset Работает быстрее чем arraylist,ответ кеширование меня...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru