Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
C# 13 and .NET 9 – Modern Cross-Platform Development Fundamentals

You're reading from   C# 13 and .NET 9 – Modern Cross-Platform Development Fundamentals Start building websites and services with ASP.NET Core 9, Blazor, and EF Core 9

Arrow left icon
Product type Paperback
Published in Nov 2024
Publisher Packt
ISBN-13 9781835881224
Length 828 pages
Edition 9th Edition
Languages
Arrow right icon
Toc

Table of Contents (18) Chapters Close

Preface 1. Hello, C#! Welcome, .NET! 2. Speaking C# FREE CHAPTER 3. Controlling Flow, Converting Types, and Handling Exceptions 4. Writing, Debugging, and Testing Functions 5. Building Your Own Types with Object-Oriented Programming 6. Implementing Interfaces and Inheriting Classes 7. Packaging and Distributing .NET Types 8. Working with Common .NET Types 9. Working with Files, Streams, and Serialization 10. Working with Data Using Entity Framework Core 11. Querying and Manipulating Data Using LINQ 12. Introducing Modern Web Development Using .NET 13. Building Websites Using ASP.NET Core 14. Building Interactive Web Components Using Blazor 15. Building and Consuming Web Services 16. Epilogue 17. Index

Practicing and exploring

Let’s now test your knowledge and understanding by trying to answer some questions, getting some hands-on practice, and going into the topics covered throughout this chapter in greater detail.

Exercise 1.1 – Online material

Online material can be extra content written by me for this book, or it can be references to content created by Microsoft or third parties.

Current versions of .NET

You can check what the latest version of .NET is for various platforms and what is officially supported at the following link: https://versionsof.net.

If you need to know more about support for the legacy .NET Framework, you can read about it at the following link: https://learn.microsoft.com/en-us/lifecycle/products/microsoft-net-framework.

Upgrade to a new .NET version

.NET releases new versions annually. Some developers begin upgrading as soon as a new version drops, while others prefer to wait until their current version reaches end-of-support. Upgrading involves several important considerations that you can read about at the following link:

https://learn.microsoft.com/en-us/dotnet/core/install/upgrade

freeCodeCamp and C# certification

For many years, Microsoft had an exam for C# 5, Exam 70-483: Programming in C#. I taught hundreds of developers the skills needed to get qualified and pass it. Sadly, that exam was retired a few years ago.

In August 2023, Microsoft announced a new foundational certification for C# alongside a free 35-hour online course. You can read more about how to qualify for the certification at the following link:

https://www.freecodecamp.org/learn/foundational-c-sharp-with-microsoft/

C# certification signup: https://aka.ms/learningseries/csharp/signup

Explore Polyglot Notebooks

Complete the following online-only section to explore how you can use Polyglot Notebooks with its .NET Interactive engine:

https://github.com/markjprice/cs13net9/blob/main/docs/ch01-polyglot-notebooks.md

Windows development

This book is about modern cross-platform development. But what about graphical user interface (GUI) development especially for Windows?

You can read an article discussing this at the following link:

https://visualstudiomagazine.com/articles/2024/02/13/desktop-dev.aspx

C# versus other languages

Even Microsoft does not use C# and .NET for all its own development needs. You can read an interesting discussion about C# and Rust at the following link:

https://www.reddit.com/r/dotnet/comments/1aezqmg/comment/ko8lnf2/

The key quote at the preceding Reddit link is this:

“There’s been a lot of hype around Rust, and for good reason. But it’s a system language. It’s not like Microsoft is about to go rewrite millions and millions of lines of code and toss out C# (for anyone getting nervous ). They’re just being pragmatic and using an effective tool for the job.”

Free computer science course

Harvard CS50: Introduction to Computer Science: https://pll.harvard.edu/course/cs50-introduction-computer-science

.NET newsletters

There are email newsletters that you can subscribe to get daily or weekly updates, hints, and tips. Some of the better ones include the following:

Exercise 1.2 – Practice exercises

The following practice exercises will go deeper into the topics for this chapter.

Practice C# anywhere with a browser

You don’t need to download and install VS Code or even Visual Studio to write C#. You can start coding online at any of the following links:

Alpha versions of .NET

You can (but probably shouldn’t) download future versions of .NET, including alpha versions from the following link:

https://github.com/dotnet/sdk/blob/main/documentation/package-table.md

Warning! Alpha versions are designed to be used only internally by Microsoft employees. Beta versions (official previews) are designed to be used externally and become available from mid-February each year.

For more about using .NET 10 with this book, please see the following link: https://github.com/markjprice/cs13net9/blob/main/docs/dotnet10.md.

Exercise 1.3 – Test your knowledge

Try to answer the following questions, remembering that although most answers can be found in this chapter, you should do some online research or code writing to answer others:

  1. Is Visual Studio better than VS Code?
  2. Are .NET 5 and later versions better than .NET Framework?
  3. What is .NET Standard, and why is it still important?
  4. Why can a programmer use different languages (for example, C# and F#) to write applications that run on .NET?
  5. What is a top-level program, and how do you access any command-line arguments?
  6. What is the name of the entry point method of a .NET console app, and how should it be explicitly declared if you are not using the top-level program feature?
  7. What namespace is the Program class defined in with a top-level program?
  8. Where would you look for help for a C# keyword?
  9. Where would you look first for solutions to common programming problems?
  10. What should you do after getting AI to write code for you?

Appendix, Answers to the Test Your Knowledge Questions, is available to download from a link in the README file in the GitHub repository: https://github.com/markjprice/cs13net9.

Exercise 1.4 – Explore topics

A printed book is a curated experience. I have tried to find the right balance of topics to include in this book. Other content that I have written can be found in the GitHub repository for this book.

I believe that this book covers all the fundamental knowledge and skills a C# and .NET developer should have or be aware of. Some longer examples are best included as links to Microsoft documentation or third-party article authors.

Use the links on the following page to learn more details about the topics covered in this chapter:

https://github.com/markjprice/cs13net9/blob/main/docs/book-links.md#chapter-1---hello-c-welcome-net

lock icon The rest of the chapter is locked
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $19.99/month. Cancel anytime
Banner background image