top of page

C# - паттерны операторов is/switch/switch expression

  • Фото автора: Алик Ким
    Алик Ким
  • 17 авг. 2023 г.
  • 1 мин. чтения

Мне, прям, стыдно выкладывать такую шпаргалку-самоделку. но мало ли, вдруг кому пригодится.

для всех этих операторов одинаково паттерны поддерживаются

паттерны рекурсивны



какие есть интересные:

if (a is string { Length: >= 5 } s) {...}



if (point is (>= 0, >= 0) { Weight: >= 0.0 })

//при этом у класса point должен быть метод Deconstruct, который возвращает для этого объекта тьюпл с тем же количеством элементов



input is not (float or double)



int[] numbers = { 1, 2, 3 };

Console.WriteLine(numbers is [0 or 1, <= 2, >= 3]); // True


Console.WriteLine(new[] { 1, 0, 0, 1 } is [1, 0, .., 0, 1]); // True



numbers is [< 0, .. { Length: 2 or 4 }, > 0]


obj is {Prop1 = 22 } - что, если тут obj - null?

вернется false

 
 
 

Недавние посты

Смотреть все

Comentários


Околокомпьютерный блог Алика

  • alt.text.label.Facebook

© Околокомпьютерный блог Алика , 2022. Сайт создан на Wix.com

bottom of page