在使用ScottPlot例程中Multiple Histograms图表代码时遇到的问题
错误 CS8400 功能“创建目标类型对象”在 C# 8.0 中不可用。请使用语言版本 9.0 或更高版本。
编译错误表明正在使用 C# 8.0 版本,但某个功能要求使用 C# 9.0 或更高版本。为了解决这个问题,需要将项目的语言版本更新为 C# 9.0 或更高版本。按照以下步骤操作:
-
打开您的项目文件夹,找到 .csproj 文件。这通常是以项目名称命名的文件,例如:YourProjectName.csproj
-
使用文本编辑器(如 Notepad 或 Visual Studio Code)打开 .csproj 文件。
-
在 标签内,查找 标签。如果找不到该标签,请手动添加一个。
-
将 设置为 9.0 或更高版本,例如:
<PropertyGroup>
<LangVersion>9.0</LangVersion>
</PropertyGroup>
如果您希望使用最新的 C# 版本,可以将其设置为 latest:
<PropertyGroup>
<LangVersion>latest</LangVersion>
</PropertyGroup>
-
保存 .csproj 文件并关闭。
-
重新打开您的项目并尝试重新编译。这应该解决了您遇到的编译错误。
如果问题仍然存在,请确保您的开发环境支持 C# 9.0 或更高版本。对于 Visual Studio,请使用 Visual Studio 2019 v16.8 或更高版本。对于 .NET Core,请使用 .NET Core 3.1 或更高版本。对于 .NET 5 或更高版本,您的项目应该已经支持 C# 9.0。
创建目标类型对象在C#7.3中不可用,请使用9.0或更高的语言版本
C#号称宇宙第一语言,但各版本书写方式不一样就拿一个new来说吧,9.0以上版本更加的简化
举个简单例子以前的写法是如下:
下面展示一些 内联代码片。
using (StreamReader sr = new StreamReader(f))
string line;
while ((line = sr
这个错误信息表明在 UWP 程序中使用了一个 C# 的语法特性,但这个特性在 UWP 程序中不被支持。
"结构字段初始化表达式" 指的是在定义结构体类型的字段时,可以在定义时就为字段赋一个初始值。例如:
struct Point
public int x = 0;
public int y = 0;
...
解决办法:
在工程.csproj文件中的<PropertyGroup>节加入<LangVersion>preview</LangVersion>即可。也可以指定具体的版本。
...
参照微软文档:https://docs.microsoft.com/zh-cn/dotnet/csharp/language-reference/configure-language-version#edit-the-project-file
在工程.c...
参考文献:https://docs.microsoft.com/zh-cn/dotnet/csharp/language-reference/proposals/csharp-8.0/nullable-reference-types
using System;
using System.Collections.Generic;
using System.Threading.Tasks...
我在.net项目里写的代码,移植到wpf项目里报错了。嗯,我顺便发现自己的基础真差。
// 报错语句,显然这是c# 8.0以后的语法糖
int[] arr1 = new int[] { 0,1,2,3,4,5};
var arr2 = arr1[1..3];// 前闭后开 [1,2]
首先,.net和net framework是两套东西,wpf项目显然是net framework的。参考:https://www.cnblogs.com/huchaoheng/p/6295688.html
其次,参考官方: