Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
var s = string.Join(" ", "Числа", 1, 2, 3) +
" (" + string.Join(", ", 1, 2, 3) + ")";
Trace.WriteLine(s);
var sm = SM.New+"Числа"-1-2-3;
var rr = new int[] { 1, 2, 3 };
sm = sm+" ("+rr.Sep(", ")+')';
Trace.WriteLine(sm);
var sm = SM.New+"Числа"-1-2-3;
Надо писать String.Join. В C# 6 сделали возможность писать using System.String, спасибо, но поздно.
Вот только не using System.String, а using static System.String. У автора в статье такая же ошибка: using static System.Math.
Спасибо, но поздно.
Не "поздно", а самое время выкинуть велосипеды, упрощая код.
В среде, управляемой событиями, иногда возникает необходимость продолжить работу после обработки накопившихся событий. Обычно, для отображения промежуточных результатов работы.
TPL, Rx.net?
public static class IEnumerableExtensions {
public static IEnumerable Sep(this IEnumerable objects, object separator) {
bool first = true;
foreach (var obj in objects) {
if (first) first = false;
else yield return separator;
yield return obj;
}
yield break;
}
}
var rr = new int[] { 1, 2, 3 };
rr.Sep(", ")Здравствуй, боксинг.
async Task Start() {
await Task.Delay(100500);
Title = "Starting 1";
await Task.Delay(1000);
Starting1();
await Task.Delay(1000);
///...
}
async Task Start() {
while(!isDone)
{
UpdateProgressBar();
await Task.Delay(1000)
}
}
Спасибо, новсё это уже поддерживается средствами языка, работает быстрее и часто выглядит более читаемо…
Настораживает необходимость частого использования метода Limit в приложении.
Представляется нечто такое.
var fixedValue = badValue.Limit(MinVal, MaxVal);Само наличие этого простого в использовании метода может породить вторую проблему — костыли.
public static SM New { get { return new SM(); } }он и так написал new. Только два раза — сначала в определении метода. Скобку надо писать одну — Вторую IDE дописывает :)
Помощники на каждый день