25得票3回答
在同一属性上使用Init和私有set访问器?

能否在同一属性上使用公共的初始化访问器和私有的设置器? 目前我遇到了错误CS1007:“属性访问器已经定义”。public record Stuff { public int MyProperty { get; init; private set; } // Error pu...

11得票2回答
如何打包C# 9源代码生成器并上传到Nuget?

我制作了一个C# 9源代码生成器,你可以在这里找到它。 当我将整个项目作为另一个解决方案中的引用来使用时,它可以正常工作。但是当我使用当前配置将其上传到Nuget (这里)时,它就无法工作了。 如何正确配置C# 9源代码生成器才能作为Nuget包工作?我的项目出了什么问题?<Projec...

8得票2回答
C# 在参数名称后面加感叹号代表什么意思?

这是我在这里的第一个问题。 我在C#中遇到了这样的一种方法: void Do(string action!) { ... } 我不明白在action后面的!是什么意思以及它的作用。你能帮我理解吗?

13得票4回答
警告 CS7022 - 程序的入口点是全局代码;忽略 'Program.Main(string[])' 入口点

我有一个问题,我的错误列表中出现了这个警告: Severity Code Description Project File Line Suppression State Warning CS7022 The ent...

23得票2回答
C# 9顶级程序是否可以在没有csproj的情况下运行?

即将推出的 C# 9 的一个特性是所谓的顶层程序。这样你就可以不使用类,直接编写以下内容。using System; Console.WriteLine("Hello World!"); 并且dotnet run将为您启动它。对我来说有效,但前提是我还必须添加一个像下面这...

12得票3回答
.NET 6及以上版本中,使用语句/指令在哪里?

我现在已经用上了 Visual Studio 2022 预览版几天了。 第一个震惊是,没有 Startup.cs 文件。没关系,稍微读一下,我知道 Startup 被移除了。 今天又受了一记打击。我发现没有 using 语句。就是这样。 我刚刚创建了一个全新的 .NET 6 Web 应用...

21得票1回答
C#记录中的JsonProperty在构造函数中

使用C# 9中的新C#记录类型,我想知道是否可以(用于序列化)在构造函数参数上设置Newtonsoft.Json的JsonPropertyAttribute。似乎不能直接使用。 MWE:using System; using Newtonsoft.Json; Console.WriteLin...

7得票2回答
ReSharper 2020.2.4 在 C# 9.0 记录类型上失败

我在控制台应用程序中使用新的record功能。我正在使用我的VS Community 16.8.0 + R# 2020.2.4试用版。 C#代码 using System; namespace ConsoleApp2 { class Program { s...

11得票1回答
C#中".NET5中使用String.Contains('\0', StringComparison.InvariantCulture)返回true,但在早期版本中返回false"。

当我试图将我的项目从.NET Core 3.1升级到最新的.NET 5时,我遇到了一个不兼容的问题。我的原始代码使用Path.GetInvalidFileNameChars() API返回的每个字符来检查无效的文件名字符以进行验证逻辑。 var invalidFilenameChars = P...

72得票4回答
在VS2019中测试C# 9.0 - CS0518 IsExternalInit未定义或未导入...如何定义/导入它?

编辑 [2020年11月29日]: .NET 5.0已经发布,但如果您的目标是.NET Standard 2.1,则仍需要下面的解决方案。 C# 9.0仍在开发中。有几个参考资料让我相信现在应该可以测试一些功能。 由Mr. Awesome本人撰写的微软博客,介绍了这些功能。https://...