C# 10 introduced features like file scoped namespace declaration, global usings, lambda improvements, record structs and string interpolation improvements. Use this tag if your question specifically pertains to C# 10 specific features. The C# tag should be used if your question is not specific to C# 10 features.
Questions tagged [c#-10.0]
178 questions
236
votes
14 answers
Non-nullable property must contain a non-null value when exiting constructor. Consider declaring the property as nullable
I have a simple class like this.
public class Greeting
{
public string From { get; set; }
public string To { get; set; }
public string Message { get; set; }
}
Strangely I get the following warning.
Severity Code Description…

VivekDev
- 20,868
- 27
- 132
- 202
85
votes
4 answers
VS 2022 - Convert to file-scoped namespace in all files
I'm converting my project to .NET 6 and I want to use filescoped namespaces everywhere. But the conversion tool exists only in the editor.
Has anyone found out if there's a way to run this editor function across all files in solution at once?…

Mirek
- 4,013
- 2
- 32
- 47
59
votes
3 answers
C# 10: Disable Global Using
How can I disable the new default global usings in C# 10 (see here: https://github.com/dotnet/aspnetcore/issues/32451)?
I want to see the used namespaces at a glance and don't want to look up the documentation which namespaces are used globally.

Martinaut
- 1,868
- 1
- 17
- 27
54
votes
3 answers
DateTime.Now equivalent for TimeOnly and DateOnly?
.NET 6 / C# 10 introduced TimeOnly and DateOnly structs, to represent only a time and only a date respectively.
The good old DateTime struct always had a Now static property which would give you the current date and time.
I was expecting both…

Arad Alvand
- 8,607
- 10
- 51
- 71
31
votes
2 answers
EditorConfig control File-scoped namespace declaration
I'm using C# 10 new feature File-scoped namespace declaration.
I have old code like this
namespace SampleCode
{
public class MyClass
{
}
}
I'm moving this code to
namespace SampleCode;
public class MyClass
{
}
But I have a bunch of…

JuChom
- 5,717
- 5
- 45
- 78
20
votes
2 answers
ASP.NET Minimal API - Access IConfiguration
Is it possible to access the the IConfiguration in the new ASP.NET Minimal API? I do not see the possibility to do such thing.
using Microsoft.AspNetCore.Components;
using MudBlazor.Services;
var builder = WebApplication.CreateBuilder(args);
//…

serious
- 525
- 10
- 21
18
votes
2 answers
Init-only reference properties with nullable enabled in C# 10.0
I tried to use init-only properties to force client code to initialize my class when they create it, but without a constructor. It's not working as I planned.
Here's the class, stripped down to illustrate the point.
public class Target
{
public…

Joe
- 5,394
- 3
- 23
- 54
16
votes
1 answer
How to use C#10 in Visual Studio 2019
How can I use C# 10 in Visual Studio 2019? I have latest update (16.11.6) and when I try to make a new project (need NET Standard 2.0, for compatibility with 4.7.2) and change it to C#10
…

jahav
- 699
- 1
- 7
- 24
13
votes
3 answers
Where are the using statements/directives in .NET 6
I got up and running with Visual Studio 2022 Preview for a couple of days now.
Got the first shock, there is no Startup.cs. Thats ok, a bit of reading, I know Startup is removed.
Today got another slap. I see no using statements. Here it is.
I just…

VivekDev
- 20,868
- 27
- 132
- 202
10
votes
1 answer
When to use record struct instead of struct, and vice versa?
I have found out recently about the record keyword in C#, and saw that it can be used as record struct in a way to make it, if I understood correctly, a value type instead of a reference type.
However, I'm having a hard time to understand when…

mpatrickaires
- 123
- 6
10
votes
3 answers
ASP.NET Minimal API How to Return/Download Files from URL
I'm working on minimal api, what I'm trying is when the user visits /download it immediately downloads my picture named add.png.
But no matter what I try it doesn't work because I either get an empty page with only {}
Is this possible? if so…

Teun
- 161
- 1
- 1
- 8
10
votes
1 answer
C#10 nullable pattern: how to tell the compiler I set the non-nullable property in the constructor indirectly?
Consider an example:
class Test {
string S { get; set; }
public Test() {
Init();
}
private void Init() {
S = "hello";
}
}
Using nullable C# project feature, this sample will trigger a compiler…

Harry
- 4,524
- 4
- 42
- 81
9
votes
4 answers
C#10 unclear CS8600 warning
I'm currently migrating a Blazor project to .NET6 which comes with C# 10.
With the new language version I'm getting a warning with the following code:
if (tmp is null)
oldValue = "";
else
oldValue = tmp.ToString();
The warning is: CS8600…

UnusualWays
- 177
- 1
- 2
- 11
8
votes
1 answer
CA1062 is thrown after updating to !! parameter null checking
According to CA1062 null checks are required in externally visible methods like this:
public static double GetLongitude(this Location location)
{
if(location is null)
{
throw new ArgumentNullException(nameof(location));
}
…

Matthias Fuglsang-Damgaard
- 303
- 2
- 15
8
votes
1 answer
C# 9/10 top-level statements and ExcludeFromCodeCoverage-Attribute?
I usually set the attribute [ExcludeFromCodeCoverage] to my Program class, as there are no unit tests for this class possible anyways (or don't make sense either), so it doesn't show up as "missing" in the coverage…

DominikAmon
- 892
- 1
- 14
- 26