Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
Alvin Seville
 Аватар для Соколиный глаз
343 / 273 / 134
Регистрация: 25.07.2014
Сообщений: 4,537
Записей в блоге: 22

Зачем здесь unchecked?

15.03.2019, 19:09. Показов 1640. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
       public BitArray(int length, bool defaultValue) {
            if (length < 0) {
                throw new ArgumentOutOfRangeException("length", Environment.GetResourceString("ArgumentOutOfRange_NeedNonNegNum"));
            }
            Contract.EndContractBlock();
    
            m_array = new int[GetArrayLength(length, BitsPerInt32)];
            m_length = length;
    
            int fillValue = defaultValue ? unchecked(((int)0xffffffff)) : 0;
            for (int i = 0; i < m_array.Length; i++) {
                m_array[i] = fillValue;
            }
 
            _version = 0;
        }
Исходник.
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
15.03.2019, 19:09
Ответы с готовыми решениями:

Зачем здесь return ?
Читаю книгу Герберт Шилда C# Полное руководство. Cам не очень знаю что такое return, но зачем он здесь используется?

Зачем здесь в прокси используется Copy?
internal sealed class Mscorlib_CollectionDebugView&lt;T&gt; { private ICollection&lt;T&gt; collection; public...

Зачем здесь при генерации события применяется this?
Здравствуйте! Подскажите пожалуйста , не пойму почему this применяется в строке 20 ( программа рабочая ) Впечатление , что просто...

12
1123 / 794 / 219
Регистрация: 15.08.2010
Сообщений: 2,185
15.03.2019, 19:19
Цитата Сообщение от Соколиный глаз Посмотреть сообщение
0xffffffff
беззнаковый и не в диапазоне инта. нужен анчекд каст.
1
Alvin Seville
 Аватар для Соколиный глаз
343 / 273 / 134
Регистрация: 25.07.2014
Сообщений: 4,537
Записей в блоге: 22
15.03.2019, 19:46  [ТС]
КОП, можно ли было тут использовать суффикс UL?
0
Эксперт .NET
 Аватар для Wolfdp
3790 / 1767 / 371
Регистрация: 15.06.2012
Сообщений: 6,543
Записей в блоге: 3
15.03.2019, 19:55
Цитата Сообщение от Соколиный глаз Посмотреть сообщение
можно ли было тут использовать суффикс UL?
нужно было использовать -1, скорее всего человек забыл что в C# нет разницы для int32 внезависимости от платформы/CPU
1
Эксперт .NET
 Аватар для kolorotur
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
15.03.2019, 22:46
Wolfdp, это исходники класса BitArray из .Net.
Если посмотреть на остальной код класса, то становится очевидно, что человек ничего не забыл
0
Эксперт .NET
6691 / 4102 / 1607
Регистрация: 09.05.2015
Сообщений: 9,574
15.03.2019, 22:59
В .NET Core у этого класса вообще другой код https://github.com/dotnet/core... itArray.cs
1
 Аватар для Toros1992
899 / 554 / 275
Регистрация: 26.11.2015
Сообщений: 1,758
Записей в блоге: 2
16.03.2019, 00:39
Цитата Сообщение от kolorotur Посмотреть сообщение
Если посмотреть на остальной код класса, то становится очевидно, что человек ничего не забыл
А не поясните, зачем именно так делать? Для расширения кругозора так сказать. Почему не использовать -1?
0
Alvin Seville
 Аватар для Соколиный глаз
343 / 273 / 134
Регистрация: 25.07.2014
Сообщений: 4,537
Записей в блоге: 22
16.03.2019, 04:42  [ТС]
kolorotur, то есть я верно на счёт суффикса UL предложил?

Добавлено через 1 минуту
Someone007, спасибо за ещё одну ссылку на сказку на ночь (я про исходник).
0
Эксперт .NET
 Аватар для Wolfdp
3790 / 1767 / 371
Регистрация: 15.06.2012
Сообщений: 6,543
Записей в блоге: 3
16.03.2019, 10:27
kolorotur, а теперь для тех кто в танке -- когда данный "метод" даст не -1?
0
Эксперт .NET
 Аватар для kolorotur
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
16.03.2019, 12:54
Лучший ответ Сообщение было отмечено Соколиный глаз как решение

Решение

Цитата Сообщение от Toros1992 Посмотреть сообщение
Почему не использовать -1?
Цитата Сообщение от Wolfdp Посмотреть сообщение
когда данный "метод" даст не -1?
Никогда — можно вполне использовать -1.
Точно так же, как в остальных участках класса можно вполне использовать 255, а не 0xFF, однако пишут именно 0xFF.
Традиция такая, когда идет работа с битами/масками, а не с арифметическими выражениями.

Цитата Сообщение от Соколиный глаз Посмотреть сообщение
то есть я верно на счёт суффикса UL предложил?
Нет.
1
Эксперт .NET
 Аватар для Wolfdp
3790 / 1767 / 371
Регистрация: 15.06.2012
Сообщений: 6,543
Записей в блоге: 3
16.03.2019, 14:40
Цитата Сообщение от kolorotur Посмотреть сообщение
Традиция такая, когда идет работа с битами/масками, а не с арифметическими выражениями.
Традиции бы еще обосновывать (я про код). Вообще оптимизация не сконвертит это в константу? Т.к. делать лишние действия в базовой либе как-то не очень...
0
Эксперт .NET
6691 / 4102 / 1607
Регистрация: 09.05.2015
Сообщений: 9,574
16.03.2019, 14:44
Цитата Сообщение от Wolfdp Посмотреть сообщение
Вообще оптимизация не сконвертит это в константу?
Конечно будет константа...

https://sharplab.io/#v2:EYLgtg... 7AC+FFFAA=
https://sharplab.io/#v2:EYLgtg... owAvkQhQA=
1
Эксперт .NET
 Аватар для kolorotur
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
16.03.2019, 17:40
Цитата Сообщение от Wolfdp Посмотреть сообщение
Традиции бы еще обосновывать (я про код).
Дык традиция (соглашение) — само по себе обоснование

Цитата Сообщение от Wolfdp Посмотреть сообщение
Вообще оптимизация не сконвертит это в константу?
Сконвертит, конечно.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
16.03.2019, 17:40
Помогаю со студенческими работами здесь

Зачем здесь в обработчике событий используются аргументы object sender, EventArgs e?
Здравствуйте! Подскажите пожалуйста , для чего в данной программе в строках 17, 26 необходимо указывать параметры object...

warning: [unchecked] unchecked call to push(E) as a member of the raw type Stack
Написал прогу она &quot;компилируется&quot; и работает. Но смущает то что в консоль при &quot;компиляции&quot; выбивает warning: unchecked call...

FormNagruzka.java:632: warning: [unchecked] unchecked conversion JComboBox<String> aptCombo = jComboBox2;
Hi ! 1 ) постоянно выводит ошибку (точнее предупреждение) при таком коде : private void updateTM() { try { ...

Зачем здесь указатель?
Уважаемые, эксперты, объясните пожалуйста что конкретно происходит в этих строках кода. Не понимаю причину использования указателя. if...

Зачем здесь нужны указатели
1. Через указатели на указатели посчитать сумму двух чисел и записать в третье. 2. Написать примитивный калькулятор, пользуясь только...


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru