На первый взгляд они похожи на вареники... На целую тарелку свежих аппетитных вареников, которые так хочется полить сметаной, и по одному отправить в рот. Но несмотря на аппетитный внешний вид и съедобное название, эти маленькие белые штучки являются арт-проектом от Александры Поллнер (Aleksandra Pollner), созданным для компании OBJECT. Называется он Porcelain Fortune Cookies и представляет собой ничто иное как фарфоровые печенья с предсказаниями.
Filed under: EV/Plug-in, Solar, BMW, Carbon Offset
Most anyone who follows the plug-in vehicle scene is familiar with at least one electric-vehicle driver whose car is "powered by sunlight" because of a solar-panel power-supply system at home. If you ...
Когда вы работаете с обобщенными списками, вам иногда нужно проверить значения списка и посмотреть
удовлетворяют ли они определенному критерию.
Метод, который я раньше не использовал
TrueForAll().
Он является частью класса List<T> class.
Он определяет, когда каждый из элементов
List<(Of <(T>)>)
удовлетворяет условию определенному в предикате.
Например, мы имеем код:
C#
var numbers = new List<int>() { 4, 6, 7, 8, 34, 33, 11};
VB.NET (Option Infer On)
Dim numbers = New List(Of Integer) (New Integer() {4, 6, 7, 8, 34, 33, 11})
И нам нужно проверить, есть ли в списке хоть одно нулевое значение. Мы можем, например, сделать это так:
C#
bool isTrue = false; foreach (var i in numbers) { if (i == 0) { isTrue = true; } }
VB.NET
Dim isTrue As Boolean = False For Each i In numbers If i = 0 Then isTrue = True End If Next i
Нет ничего плохого в таком коде, но при использовании метода TrueForAll(), можно уложиться в одну строку кода:
C#
var numbers = new List<int>() { 4, 6, 7, 8, 34, 33, 11}; var isTrue = numbers.TrueForAll(o => o > 0);
VB.NET
Dim numbers = New List(Of Integer) (New Integer() {4, 6, 7, 8, 34, 33, 11}) Dim isTrue = numbers.TrueForAll(Function(o) o > 0)
Это сделает код более читабельным, чем предыдущий пример, и более элегантным, по моему мнению.
Этот пост про то, как пропустить и выбрать элементы строкового массива используя LINQ.
В примере показанном ниже, мы пропускаем первые два элемента массива и выбираем следующие три.
C#
static void Main(string[] args) { string[] arr = {"One", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight"}; var result = from x in arr .Skip<string>(2) .Take<string>(3) select x;
foreach (string str in result) { Console.WriteLine("{0}", str); }
Console.ReadLine(); }
VB.NET
Sub Main(ByVal args() As String) Dim arr() As String = {"One", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight"} Dim result = From x In arr.Skip(Of String)(2).Take(Of String)(3) Select x
For Each str As String In result Console.WriteLine("{0}", str) Next str