gpt4 book ai didi

C# 等效于 c++ 中的 bool 运算符和 rhs

转载 作者:行者123 更新时间:2023-11-28 04:29:06 28 4
gpt4 key购买 nike

我正在尝试将 C++ 代码转换为 C#,我的这部分代码有点令人困惑。我想知道是否有人帮助我了解它的作用以及它在 c# 中的等价物。

struct Solution
{
std::vector<double> y;
bool operator<(const Solution& rhs) const
{
if (y < rhs.y)
return true;
return false;
};
}

最佳答案

代码重载了 <运算符,允许比较两个 Solution对象的 y值(value)。

以这种方式重载运算符之后

solution1 < solution2

同义

solution1.y < solution2.y

您也可以在 C# 中执行此操作:https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/operator

我不太了解 C++,我认为相当于 vector<double>在 C# 中应该是 List<double> (System.Collections.Generic.List)。我不确定,C++ 如何比较两个 vector<double> ,所以让我们假装,y在你的例子中只是一个双倍。这将导致此 C# 代码:

struct Solution
{
private double y;

public static bool operator <(Solution a, Solution b)
{
return a.y < b.y;
}

public static bool operator >(Solution a, Solution b)
{
return a.y > b.y;
}
}

(因为在没有匹配的 < 运算符的情况下,您无法定义 > 运算符)

关于C# 等效于 c++ 中的 bool 运算符和 rhs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53431522/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com