## Foreach or For – That is the Question

Total: 9 Average: 4.1

The discussion about the preference difference between FOREACH and FOR is not new. We all know that FOREACH is slower, but not all know why.

When I started learning .NET, one person told me that FOREACH is two times slower than FOR. He said this without any grounds. I took it for granted.

Eventually, I decided to explore foreach and for loop performance difference, and write this article to discuss nuances. Read More

## Long Arithmetic from Microsoft

Total: 2 Average: 3.5

It is known, a computer can operate numbers with a limited number of bits. As a rule, we are accustomed to work with the 32-bit and 64-bit integers. On the .Net platform, the Int32 (int) and Int64 (long) types correspond to these integers.

But what to do if we need to represent, for instance, number 29! = 8841761993739701954543616000000? Such number won’t fit both 32-bit and 64-bit data types. Long arithmetic is designed specifically for working with such big numbers.

In computing technology, long arithmetic implies operations (addition, multiplication, subtraction, division, raising to a power etc.) with numbers, the bitness of which exceeds the length word of the given computer. These operations are implemented not by hardware but by software with the help of basic hardware for working with small-order numbers.

## Is string operator “+” so simple?

Total: 1 Average: 5

### Introduction

A string data type is one of the fundamental data types, along with numeric (int, long, double) and logical (Boolean) ones. You can hardly imagine at least one useful program that does not utilize this type.

On the .NET platform, the string type is presented as an immutable String class. In addition, it is strongly integrated into the CLR environment and is also supported by the C# compiler.

This article is devoted to concatenation – an operation performed on strings as often as the addition operation on numerals. You may think: “What is there to say?”, after all, we all know about string operator “+”, but as it turned out, it has its own quirks.

## Under the Hood of Stopwatch

Total: 2 Average: 5

### Introduction

As all developers, I often need to measure the execution time of my own (and not only my own) code. When I was a beginning programmer, I used the DateTime structure for this purpose. Time have passed and I learned about the Stopwatch class and began using it extensively. I think most of you had a similar experience. It’s not like I didn’t wonder about how Stopwatch works, at that time, it was simply enough for me to know that Stopwatch measures the elapsed time more precise than DateTime. Now the time has come to explain to myself as well as to the readers how the Stopwatch class actually works and clarify its pros and cons in comparison with DateTime.

## Building Your First ASP.NET Core MVC App

Total: 2 Average: 5

This article helps to get started with ASP.NET Core MVC quickly. It describes how to get the latest ASP.NET MVC version and create a simple ASP.NET MVC project in Visual Studio 2015, and explains how a basic ASP.NET MVC application works.

## Handling a GDI Resource Leak

Total: 4 Average: 4.3

GDI leak (or, simply the usage of too many GDI objects) is one of the most common problems. It eventually causes rendering problems, errors, and/or performance problems. The article describes how we debug this problem.

In 2016, when most programs are executed in sandboxes wherefrom even the most incompetent developer cannot harm the system, I am amazed to face the problem I will speak about in this article. Frankly speaking, I hoped that this problem had gone forever together with Win32Api. Nevertheless, I faced it. Before that, I just heard horror stories about it from old more experienced developers. Read More

## Effective Use of Classes in .NET

Total: 6 Average: 3.5

When you need to learn a programming language, you buy a book. From books, we learn basics of the language and how to program, but this is only the beginning – there is also a development environment, and the work with it is another complicated story. Let’s take a look at some secrets of Visual Studio and some secrets of classes. Read More

## ASP.NET Core 1.0. Platform. Part 2. ASP.NET Today or what to choose?

Total: 6 Average: 3.2

Many of us (including myself) have been waiting for the final version of .NET Core and ASP.NET Core. Now the wait is over – a couple of months ago the RTM version of the web app development technology named ASP.NET Core 1.0, has been released. Just a reminder: in early 2016 it was branded as ASP.NET 5. All new features of the new version of the Microsoft.NET platform have been described in general terms. In this article and subsequent articles, you will learn what else can be done with the latest .Net platform. I will also provide a broad description of the web development technologies that Microsoft offers today. To see what is available at the moment, we can just open Visual Studio 2015 Update 3 with the latest version of ASP.NET and Web Tools (VS2015Tools.Preview2.0.1).

## ASP.NET Core 1.0. Part 1: Introduction, general description and the future of .NET Framework

Total: 5 Average: 3.8

The question is: “Microsoft ASP.NET vNext: evolution or revolution?“, the absolute answer is revolution. In this series of articles, I will try to describe in detail the latest technology for creating web applications, namely – ASP.NET vNext, which initially had the official name ASP.NET 5 and later was renamed to ASP.NET Core 1.0. There will be another series devoted to the development of a real application with examples describing the practical use of this technology.

## C# Powerful String Functions

Total: 1 Average: 5

The .NET Framework provides a set of powerful string functions. These building blocks can be used to write more complex algorithms for handling string data. To write good string handling functions, it is important to understand the characteristics of string objects in C#. Read More