Какова цель доходности и как она работает?

Просматривая Твиттер, я заметил твит от разработчика игр, за которым я только что сказал;

  

@ChevyRay 2:44 - 5 июля 2016
я даю вам: самые глупые 8 строк кода, которые я когда-либо писал, которые фактически используются код моей игры

     
 static IEnumerable<int> RightAndleft
{
    get
    {
        yield return 1;
        yield return -1;
    }
}

Сразу же я посмотрел на него и подумал про себя, что это делает? Я уверен, что пост был задуман как шутка, но я просто не получил его. И вот с этим я пошел и исследовал yield но это не отвечало на мой вопрос.

Интересно, может ли кто-нибудь здесь пролить свет на то, что он делает, а также почему?

7 голосов | спросил Lankymart 5 J000000Tuesday16 2016, 13:08:24

2 ответа


0

Компилятор превращает этот код в перечислитель. Вы можете использовать этот перечислитель для перебора последовательности {1, -1}:

foreach(var i in ClassName.RightAndLeft)
    Console.WriteLine(i);

приводит к

1
-1

Обратите внимание, что у этого свойства нет есть два оператора возврата и тип возврата int. Возвращает IEnumerable<int>, последовательность, содержащую 1 и -1.

См. ключевое слово yield для получения дополнительной информации.

Важно отметить, что вторая строка yield return -1; выполняется после первого значения распечатывается с помощью Console.WriteLine в этом примере.


Поскольку этот плакат является разработчиком игры, он, вероятно, использует эти два значения в качестве указателей направления, и это перечисление, ну, ну, ну, ну, ну, ну, ну, перечисление всех возможных направлений или что-то в этом роде.

ответил René Vogt 5 J000000Tuesday16 2016, 13:10:26
0

Возвращает объект IEnumerable<int>, который содержит 1 и -1.

См. https://msdn.microsoft.com/en-us/library. /9k7k7cf0.aspx

ответил Trần Anh Nam 5 J000000Tuesday16 2016, 13:14:44

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132