0 / 0 / 0
Регистрация: 13.08.2014
Сообщений: 22
|
||||||
1 | ||||||
В случае передачи строки, метод выдаёт true, а в случае передачи значения типа int - false13.08.2014, 17:50. Показов 2324. Ответов 30
Метки нет (Все метки)
Всем привет!
Почему в случае передачи строки, ниже приведённый метод выдаёт true, а в случае передачи значения типа int - false?
При _contents[0]=1; вызов Contains(1) возвращает false Где собака зарыта?
0
|
13.08.2014, 17:50 | |
Ответы с готовыми решениями:
30
ISNUMBER работает в случае True, возвращает #ЗНАЧ! в случае False Описать функцию IsLeapYear(Y) логического типа, которая возвращает True, если год являеятся високосным, и False в противном случае Как описать функцию Even(K) логического типа, возвращающую TRUE, если целый параметр K является четным, и FALSE в противном случае Создать функцию Chet(k) логического типа,возвращающую True , если целый параметр К является чётным и False в противном случае |
0 / 0 / 0
Регистрация: 13.08.2014
Сообщений: 22
|
||||||
13.08.2014, 17:59 [ТС] | 3 | |||||
Да, верно, объявлен как:
0
|
13.08.2014, 18:11 | 4 | |||||
Mr Di, ятд что в первом случае сравниваются сами строки. А вот во втором (поскольку object ссылочный тип) сравниваются ссылки. value у вас тоже типа object, так? Выполните явное приведение к нужному типу и будет нормально.
Вот как-то так...
1
|
0 / 0 / 0
Регистрация: 13.08.2014
Сообщений: 22
|
|
13.08.2014, 18:19 [ТС] | 5 |
А есть ли какой либо "универсальный" метод преобразования типов?
Ведь в приведённом выше методе могут сравниваться данные различных типов...
0
|
1057 / 864 / 195
Регистрация: 31.03.2010
Сообщений: 2,521
|
||||||
13.08.2014, 18:37 | 7 | |||||
Сообщение было отмечено Mr Di как решение
Решение
Mr Di, до тех пор пока имеем дело с типами-значениями и string такое будет работать:
1
|
0 / 0 / 0
Регистрация: 13.08.2014
Сообщений: 22
|
|
13.08.2014, 19:09 [ТС] | 8 |
Learx, спасибо огромное! Это то что нужно.
0
|
rattrapper
|
13.08.2014, 20:19
#9
|
Не по теме: Mr Di, так, на будущее: boxing (использование object) - плохая практика в программировании, тем более, что 99% задач можно решить другим способом.
0
|
0 / 0 / 0
Регистрация: 13.08.2014
Сообщений: 22
|
||||||
13.08.2014, 20:41 [ТС] | 10 | |||||
rattrapper, я не имею большого опыта в написании именно на C# и был бы признателен за совет. Задача стояла такая: Необходим класс, реализующий функциональность динамического массива данных( либо чисел, либо строк, либо динамических массивов), имеющих целочисленный ID (номер).
Я решил реализовать как класс, имеющий интерфейс IList. Вот как-то так:
0
|
foo();
|
||||||
13.08.2014, 23:08 | 11 | |||||
Mr Di, ну не знаю, посмотрите на это:
белиберда
Добавлено через 1 минуту вы уверены, что это обязательно?
0
|
0 / 0 / 0
Регистрация: 13.08.2014
Сообщений: 22
|
||||||
14.08.2014, 10:15 [ТС] | 12 | |||||
rattrapper, честно скажу - не всё понял...
Не зациклен ли этот метод на себя? Возможно ли добавление элемента типа массив? Как это объявить?
0
|
foo();
|
|
14.08.2014, 10:23 | 13 |
нет
для каждого типа придется создавать класс-заглушку (наследник Value). Так мы хотя бы убедимся, что в нашу коллекцию добавляются элементы только нужных нам типов.
0
|
0 / 0 / 0
Регистрация: 13.08.2014
Сообщений: 22
|
|
14.08.2014, 10:30 [ТС] | 14 |
И самое главное, я предварительно не могу знать какого типа будут добавляться данные в массив, поэтому невозможно зарание объявить его какого-либо типа...
0
|
foo();
|
|
14.08.2014, 10:34 | 15 |
Тогда как Вы с этими данными будете работать??? Но я согласен с фактом, что мой вариант кривоват. Просто не представляю зачем нужно смешивать объекты разных типов в одной коллекции...
0
|
0 / 0 / 0
Регистрация: 13.08.2014
Сообщений: 22
|
|
14.08.2014, 11:00 [ТС] | 16 |
0
|
1057 / 864 / 195
Регистрация: 31.03.2010
Сообщений: 2,521
|
|
14.08.2014, 11:55 | 17 |
Mr Di, а для какой цели вообще это создается? неужто нет стандартных инструментов Framework, которые решат поставленную задачу?
0
|
0 / 0 / 0
Регистрация: 13.08.2014
Сообщений: 22
|
|
14.08.2014, 12:40 [ТС] | 18 |
Вообще, универсальные инструменты не оптимальны.
Может я многого еще не знаю именно в C# и .Net Framework, но я много работал с другими технологиями MS. В данном случае, мне необходим многопользовательский доступ в файлу .mdb (MSAccess). Т.к. при подключении нескольких пользователей к данному типу файлов начинаются "траблы"(т.е. множественные блокировки, тормоза, и отказы) , то для доступа применяется технология "отвязанных данных". Суть проста: 1-тот объём данных который надо редактировать, по сути мал. 2-обращаемся к соединению с БД -> читаем данные (данные помещаются в одномерный массив + табличные массивы если форма со "спецификацией"). 3-помещаем данные в нужную форму -> отдаём пользователю на (просмотр, изменение, удаление и пр.) 4-по результатам посылаем (или не посылаем) запрос в базу. Вот на 3-м этапе возникает проблема. Постараюсь кратко: В случае формы со спецификацией нужно обеспечить ввод в поля типа выпадающий список в grid-е (DataGridViewComboBoxColumn). Редактирование в таких полях не поддерживается. Поэтому для реализации нормального редактирования в таких полях (типа адресно-поисковой строки Хрома) я решил реализовать динамические списки подстановки через динамические массивы. (тот класс что я запостил в сообщ. 10) Смысл такой: - считываю в массив весь справочник - при пользовательском вводе делаю фильтр по началу строки в справочнике и первые, скажем, 15 позиций посещаю в .Items контрола (как подсказку пользователю) Вот такой смысл. Еще использую переменную этого же класса для хранения самих массивов справочников. Вот как-то так.
0
|
1057 / 864 / 195
Регистрация: 31.03.2010
Сообщений: 2,521
|
|
14.08.2014, 13:20 | 19 |
Mr Di, поверьте, гораздо проще использовать DataTable+OleDbdataAdapter чем городить свой велосипед. чтоб создать работоспособный код вам доведется очень сильно постараться. и вашего уровня знаний тут явно недостаточно.
0
|
0 / 0 / 0
Регистрация: 13.08.2014
Сообщений: 22
|
|
14.08.2014, 13:37 [ТС] | 20 |
Learx, у меня уже всё работает
Знаний у меня вагон и три маленькие тележки, просто навыков C# не хватает. Я использую OleDbCommand для загрузки данных в локальное хранилище. Этого достаточно. А вот с DataTable, я, к сожалению, не смог воспроизвести работу выпадающих списков. И !самое главное! нельзя держать постоянное соединение с БД, а списки будут постоянно подчитываться из базы.
0
|
14.08.2014, 13:37 | |
14.08.2014, 13:37 | |
Помогаю со студенческими работами здесь
20
Разработать функцию, которая возвращает True, если полученные значения могут быть сторонами треугольника, False – в противном случае Если кнопка зажата то - true в противном случае - false Переменной k логического типа присвоить значение true в том случае, если массив n целых чисел упорядочен по возрастанию, i значение false если нет Вернуть true, если параметр является алфавитно-цифровым и false в ином случае Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |