[Этюд] C# keywords
От: IT Россия linq2db.com
Дата: 26.03.15 20:14
Оценка: 5 (2)
Сколько ключевых слов в C# может идти последовательно друг за другом?
Я пока насчитал семь.
Если нам не помогут, то мы тоже никого не пощадим.
Re: C# keywords
От: Shmj Ниоткуда  
Дата: 26.03.15 21:02
Оценка:
Здравствуйте, IT, Вы писали:

IT>Я пока насчитал семь.


Пока нашлось только 6, и то 1 контекстуально-зависимое:

  Скрытый текст
        class A
        {
            protected internal virtual async void Fun1()
            {
            }
        }

        private class B : A
        {
            protected internal sealed override async void Fun1()
            {
            }
        }
Отредактировано 26.03.2015 21:19 Shmj . Предыдущая версия .
Re: [Этюд] C# keywords
От: Shmj Ниоткуда  
Дата: 26.03.15 21:29
Оценка: :))
Здравствуйте, IT, Вы писали:

IT>Я пока насчитал семь.


7 нашлось:

  Скрытый текст
protected internal static readonly volatile extern object Field;


Баг решарпера.
Отредактировано 27.03.2015 10:25 Shmj . Предыдущая версия .
Re: [Этюд] C# keywords
От: mogikanin Россия  
Дата: 26.03.15 22:00
Оценка:
Здравствуйте, IT, Вы писали:

IT>Сколько ключевых слов в C# может идти последовательно друг за другом?

IT>Я пока насчитал семь.

http://stackoverflow.com/questions/672977/what-is-the-longest-legal-statement-block-you-can-make-with-only-c-sharp-keyword
Re[2]: [Этюд] C# keywords
От: IT Россия linq2db.com
Дата: 26.03.15 23:01
Оценка: :)
Здравствуйте, Shmj, Вы писали:

IT>>Я пока насчитал семь.

S>7 нашлось:

Нашлось пока 7 вариантов по 7:

class A
{
    internal protected static unsafe new extern void B1();
    internal protected static unsafe new async void B2() {}
    internal protected virtual unsafe new async void B3() {} // override, abstract

    internal protected static unsafe new volatile int C1;
    internal protected static unsafe new readonly int C2;
}


Надо ещё чего-нибудь натянуть на это дело.
Если нам не помогут, то мы тоже никого не пощадим.
Re[3]: [Этюд] C# keywords
От: Shmj Ниоткуда  
Дата: 27.03.15 00:59
Оценка:
Здравствуйте, IT, Вы писали:

IT>Надо ещё чего-нибудь натянуть на это дело.


Если с unsafe, то можно и extern добавить:

internal protected static unsafe extern new volatile int C1;


Получается 8, пока рекорд.
Конечно, не учитывая бесконечного

return null as object as object as object ...


Кстати, есть ли еще бесконечные конструкции, кроме return null as object|string?

UPDATE
А, не. Оказывается это решарпер не знает что конструкция с extern ошибочка. Прога не компилируется...
Отредактировано 27.03.2015 1:07 Shmj . Предыдущая версия . Еще …
Отредактировано 27.03.2015 1:05 Shmj . Предыдущая версия .
Re[3]: [Этюд] C# keywords
От: Sinix  
Дата: 27.03.15 06:40
Оценка: 68 (1)
Здравствуйте, IT, Вы писали:

IT>Нашлось пока 7 вариантов по 7:

protected internal virtual new unsafe extern int this[params int[] yield] { get; } // с yield баг подсветки, ну да ладно



И чтоб два раза не вставать: а чтобы догнать Кирилла Осенкова ещё пахать и пахать...
Отредактировано 27.03.2015 6:59 Sinix . Предыдущая версия . Еще …
Отредактировано 27.03.2015 6:53 Sinix . Предыдущая версия .
Отредактировано 27.03.2015 6:44 Sinix . Предыдущая версия .
Отредактировано 27.03.2015 6:43 Sinix . Предыдущая версия .
Re[4]: [Этюд] C# keywords
От: Sinix  
Дата: 27.03.15 07:17
Оценка:
Здравствуйте, Shmj, Вы писали:

return null as object as object as object ...


тогда уж в стиле капитана неочевидность:
        return A_Rose is A_Rose is A_Rose;

Результат слегка не соответствует замыслу автора, но поскольку языка для модернистов ещё не придумали, имеем что имеем
Re[4]: [Этюд] C# keywords
От: IT Россия linq2db.com
Дата: 27.03.15 13:17
Оценка:
Здравствуйте, Sinix, Вы писали:

S>
S>protected internal virtual new unsafe extern int this[params int[] yield] { get; } // с yield баг подсветки, ну да ладно
S>

S>

8. Отлично! Я знал, я чувствовал!
Если нам не помогут, то мы тоже никого не пощадим.
Re[4]: [Этюд] C# keywords
От: IT Россия linq2db.com
Дата: 27.03.15 15:21
Оценка: +1
Здравствуйте, Sinix, Вы писали:

S>И чтоб два раза не вставать: а чтобы догнать Кирилла Осенкова ещё пахать и пахать...


Кажется у него там не хватает select ... into.
Если нам не помогут, то мы тоже никого не пощадим.
Re[5]: [Этюд] C# keywords
От: Sinix  
Дата: 27.03.15 16:32
Оценка:
Здравствуйте, IT, Вы писали:

IT>Кажется у него там не хватает select ... into.

Если я не забыл, то там много чего не хватает, в комментах было.
Re: [Этюд] C# keywords
От: nikov США http://www.linkedin.com/in/nikov
Дата: 27.03.15 19:40
Оценка: 37 (2)
Здравствуйте, IT, Вы писали:

IT>Сколько ключевых слов в C# может идти последовательно друг за другом?


Сколько угодно:
do do do do do do do do do do do do do do do // ...
while(x) while(x) while(x) while(x) while(x) // ...


Если разрешить contextual keywords, то есть ещё вариант
await await await await await await await // ...
Re[2]: [Этюд] C# keywords
От: Shmj Ниоткуда  
Дата: 27.03.15 21:49
Оценка:
Здравствуйте, nikov, Вы писали:

N>Сколько угодно:

N>
N>do do do do do do do do do do do do do do do // ...
N>while(x) while(x) while(x) while(x) while(x) // ...
N>


Есть ли еще варианты бесконечных, кроме этого и return null as string|object?
Re[2]: [Этюд] C# keywords
От: IT Россия linq2db.com
Дата: 28.03.15 14:38
Оценка:
Здравствуйте, nikov, Вы писали:

N>Если разрешить contextual keywords, то есть ещё вариант


Такое не интересует. Давай конкретезируем условие:

Сколько уникальных ключевых слов в C# может идти последовательно друг за другом?
Если нам не помогут, то мы тоже никого не пощадим.
Re[3]: [Этюд] C# keywords
От: _NN_ www.nemerleweb.com
Дата: 28.03.15 16:06
Оценка:
Здравствуйте, IT, Вы писали:

IT>Такое не интересует. Давай конкретезируем условие:

IT>Сколько уникальных ключевых слов в C# может идти последовательно друг за другом?
А какие символы разрешаются между словами ? Только пробел ?
http://rsdn.nemerleweb.com
http://nemerleweb.com
Re[4]: [Этюд] C# keywords
От: IT Россия linq2db.com
Дата: 28.03.15 16:59
Оценка:
Здравствуйте, _NN_, Вы писали:

_NN>А какие символы разрешаются между словами ? Только пробел ?


Ну да. Всё остальное не спортивно
Если нам не помогут, то мы тоже никого не пощадим.
Re[3]: [Этюд] C# keywords
От: Shmj Ниоткуда  
Дата: 30.03.15 22:20
Оценка: +2
Здравствуйте, IT, Вы писали:

IT>Надо ещё чего-нибудь натянуть на это дело.


До кучи еще одна семерка:

public static extern unsafe implicit operator double(Program s);
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.