я реально не ожидал увидеть такой код в C#
я реально не ожидал увидеть такой код в C#
tryroslyn.azurewebsites.net
очень странным кажется атрибут в панельке с результатом
"[module: UnverifiableCode]"
-pattern matching
-tuple
-readonly var
-Lambda capture lists
-Method contracts (теперь на уровне языка, а не библиотеки)
github.com
скомпилился код
pastebin.com
прискорбно, но студия пока этого не поддерживает и всякие там "автоформатирования" и все это красным подчеркивает. за то компилятор все нормуль компилит.
+появилось окно SyntaxTree зачем-то
f5.s.qip.ru
public async Task<IEnumerable<string>> GetItemsAsync() {
string item1 = await GetSomethingAsync();
yield return item1;
string item2 = await GetSomethingElseAsync();
yield return item2;
}
таки async/await не везде языком поддерживается
foobar.ToUpperInvariant() == "COMMAND"работает быстрее, чем
foobar.ToLowerInvariant() == "command"
When normalizing strings, it is highly recommended that you use ToUpperInvariant instead of ToLowerInvariant because Microsoft has optimized the code for performing uppercase comparisons.via stackoverflow.com
пока (самый популярный в nuget gallery) AutoMoq показал себя не с лучшей стороны.
буду искать альтернативы....
stackoverflow.com
пишут, что switch-case само-оптимизируется в dictionary, если в нем сравниваются более чем с 5 элементами.
мб юзать switch-case все-таки....
это делается средствами .net 4.5
над методом надо навесить атрибут [MethodImplOptions(MethodImplOptions.AggressiveInlining)]