gpt4 book ai didi

使用 List 重载 C# 运算符

转载 作者:太空狗 更新时间:2023-10-29 21:29:27 25 4
gpt4 key购买 nike

我正在尝试在 C# 中重载适用于 Lists 的运算符(不要问为什么!)。例如,我希望能够写:

List<string> x = // some list of things
List<string> y = // some list of things
List<string> z = x + y

因此“z”包含“x”的所有内容,后跟“y”的内容。我知道已经有组合两个列表的方法,我只是想了解运算符重载如何与通用结构一起使用。

(顺便说一下,这是 Systems.Collections.Generic 中的 List 类。)

最佳答案

据我所知,这是不可行的:您必须在使用它的类型中实现运算符重载。自 List<T>不是您的类型,您不能覆盖其中的运算符。

但是,您可以从 List<string> 派生出您自己的类型,并覆盖您类(class)内的运算符。

class StringList : List<string> {
public static StringList operator +(StringList lhs, StringList rhs) {
}
}

关于使用 List<T> 重载 C# 运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9142942/

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