Модераторы: Partizan, gambit

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Hashtable в качестве значения Hashtable(хеш хешей) 
V
    Опции темы
PashaPash
Дата 9.3.2009, 21:08 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1233
Регистрация: 3.1.2008

Репутация: 9
Всего: 49



tot, просто в 2 строчки, без лямбды, не комильфо?
Код

Hashtable hashtable = (Hashtable)Obj;

myMethod(ref hashtable);

ref-у нужна присвоябельная переменная, а результату каста - оператора () - присвоить что-то не всегда получится. Потому что вернуть () может все что угодно, а не просто оригинальную ссылку с нужным типом. И обратное преобразование не всегда возможно. Смотри:
Код

class A
{
    public static explicit operator A(B b)
    {
        return new A();
    }
}

class B
{

}
static void Main(string[] args)
{
    B b = new B();
    object a = (A)b;

    Console.WriteLine(Object.ReferenceEquals(a, b));  // false
}

Теперь представь, что результат (A)b ты передаешь как параметр ref A. Куда компилятор дожен положить возвращаемое значение? В переменную B b?


--------------------
PM MAIL WWW   Вверх
tot
Дата 10.3.2009, 19:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 24
Регистрация: 25.12.2007

Репутация: нет
Всего: нет



Цитата(PashaPash @ 9.3.2009,  21:08)
tot, просто в 2 строчки, без лямбды, не комильфо?

Лишняя строчка стройность кода портит, думал что возможно решить проблему изящнее. 
Но если больше нет других вариантов то остается только так.
PM MAIL   Вверх
PashaPash
Дата 10.3.2009, 19:22 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1233
Регистрация: 3.1.2008

Репутация: 9
Всего: 49



Цитата(tot @  10.3.2009,  19:09 Найти цитируемый пост)
Лишняя строчка стройность кода портит

код с ref (Hashtable)obj уже ничем не испортишь smile


--------------------
PM MAIL WWW   Вверх
mihryak
Дата 10.3.2009, 19:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 731
Регистрация: 28.4.2007
Где: С-Пб

Репутация: 10
Всего: 36



прошу прощения за навязчивость
выше уже высказывал мнение, что ref и hashtable не способствуют стройности ни разу

PM MAIL ICQ   Вверх
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Partizan
PashaPash

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, Partizan, PashaPash.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | .NET для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0666 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.