c# - 错误 CS8107:功能“元组相等”在 C# 7.0 中不可用。请使用语言版本 7.3 或更高版本
问题描述
我有最新的 Visual Studio 2017 版本
我努力了:
专门将 C# 版本项目设置为最新
- 手动修改项目的 .csproj(最新和 C# 7.3)
- 更新了 Visual Studio 版本
- 使用 .NET Framework 4.7 而不是 4.7.2
- 安装 ValueTuple 包(我之后立即卸载)
- 安装 Microsoft.Net 编译器包
毕竟,我的项目似乎仍然无法在 C# 7.3 中编译,因为当我尝试在调试器中比较两个元组时,它会提示此错误消息:
转换为:错误 CS8107:功能“元组相等”在 C# 7.0 中不可用。请使用语言版本 7.3 或更高版本
这是我的代码:
(CRiverGameState, int, bool) osti;
bool canRaise = _gameState.GetLstAllowedActionsForCurrentPlayer().Contains(ActionsPossible.Raise);
(CRiverGameState, int, bool) riverKey = (riverGameState, (int)_boardType, canRaise);
foreach(var tabarnak in CDBHelper.PRiverAllGameStatesFoldStats.Keys)
{
if (tabarnak.Item1.PID == 2592 && tabarnak.Item2 == 1089 && tabarnak.Item3 == false)
osti = tabarnak;
}
我没主意了。为什么我的项目是用 C# 7.0 而不是 C# 7.3 编译的?
解决方案
您的调试器版本使用 C# 7.0。
您的项目使用的是 C# 7.3,但调试器使用的是 C# 7.0。
如果你这样做:
bool result = (osti == riverKey); // This will return true, but not in the debugger
这将起作用。
推荐阅读
- java - Android工作室更新捆绑jarsigner:与key0关联的密钥不是私钥
- c# - 来自其他类的私有列表上的 LINQ 调用
- javascript - 当我单击子 div 并且再次单击父 div 时,如何关闭父 div 功能,该功能将活动
- r - 在数据框中获取 30 次出现
- excel - 如何在我的代码中通过 AutoFilter 正确使用循环?
- powerbi-desktop - 在 Power BI 中,更改数据库时未制定数据源设置
- google-analytics - 在 Google AMP + PWA (PWAMP) 中跟踪 PWA 事件
- winforms - FolderBrowserDialog 放在前面
- azure-functions - 为 Azure 函数运行 Spring Cloud Functions 示例时出错
- c# - 如何设计一个可以使用类属性/方法存储和检索数据的类