BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage C# Content on InfoQ

  • Building Functional .NET Applications: a Guide for Choosing between F# vs C#

    C# and F# are languages, each with growing user bases, that approach functional programming in fundamentally different ways. C# relies on object-oriented, imperative principles, and F# relies on functional principles.  Some developers are using F# as a complement to C#, rather than relying on the functional capabilities that exist natively in C#.

  • InfoQ .NET Trends Report 2022

    Every year, all InfoQ editors invite seasoned developers and practitioners from the industry to discuss the current trends in the entire software development landscape. In this article, we discuss some of the .NET Trends for 2022, divided into four stages of adoption.

  • Overriding Sealed Methods in C#

    In this article, the author demonstrates how we can change the behavior of sealed methods in C#. This can be done by understanding Operating System mechanisms and how the .NET platform generates and compiles code. The author illustrates these techniques using real-world scenarios, including the modification of the WinPAI wrapper.

  • Records in C# 9

    In this article, Tugce Özdeger talks about Records, a new reference type introduced in C# 9 that provides built-in functionality for encapsulating data. The article shows the potential benefits and advantages of using records and how developers can use them in their applications, with code examples and comparisons with classes and structs.

  • Building a Source Generator for C#

    In this article we’ll be writing a Source Generator for C#. Along the way we’ll explain some of the key technologies you’re going to need to learn in order to build your own and some of the pitfalls you might encounter on the way.

  • C# 9 and .NET 5: Book Review and Q&A

    The book C# 9 and .NET 5 by Mark Price is a practical guide on developing .NET cross-platform applications. The book is concise, implementation-oriented, and each subject is presented with a hands-on walkthrough. The author covers the main types of applications that can be built with C# 9 and .NET 5. InfoQ reviewed the book and interviewed Price on the goals and contents of the book.

  • Adapting Projects to Use C# 8 and Nullable Reference Types

    This report is a case study on upgrading a C# 7 class library to C# 8 with nullable reference types. The project used in this case study is a collection of MVVM style base classes, reflection code, and various utility functions. It was chosen because it is reasonably small and has a good mix of idiomatic and unusual C# patterns.

  • Article Series: .NET Core

    In this series, we explore some of the benefits .NET Core and how it can help not only traditional .NET developers, but all technologists that need to bring robust, performant and economical solutions to market.

  • Models and Their Interfaces in C# API Design

    Traditional MVC, MVP, MVVM, Web MVC; the common element in every UI pattern is the Model. And while there are many articles discussing the view, controllers, and presenters in these architectures, almost no thought is given to the models. In this article we’ll look at the model itself and the .NET interfaces that they implement.

  • Performance is a Key .NET Core Feature

    .NET Core brings along many optimizations with regards to performance, both in terms of execution speed as well as memory allocation. Examples are optimizations in collections and LINQ extension methods, text processing, networking … There are also new types and concepts, such as Span, that allow doing interesting things. In this article, we will look at how these new concepts can be used.

  • InfoQ Call for Articles

    InfoQ provides software engineers with the opportunity to share experiences gained using innovator and early adopter stage techniques and technologies with the wider industry. We are always on the lookout for quality articles and we encourage practitioners and domain experts to submit feature-length (2,000 to 3,000 word) papers that are timely, educational and practical.

  • Detecting and Analyzing Redundant Code

    As software development projects grow in scope, it is very easy for them to add redundant layers of code. By analyzing several large open source projects on GitHub, the author presents his findings as to the amount of redundant code each project has and shares some recommendations as to how all projects can improve their own code management.

BT