gpt4 book ai didi

c# - 在 C# 中覆盖 ToString 和使用隐式/显式转换运算符有什么区别?

转载 作者:行者123 更新时间:2023-11-30 20:35:42 29 4
gpt4 key购买 nike

在C#中,这有什么区别:

public override string ToString()
{
return "Person: " + Name;
}

还有这个:

public static implicit/explicit operator string(Person person)
{
return "Person: " + Name;
}

最佳答案

语义有些不同。

Conversion operators说“转换为字符串(或其他)类型”:

C# enables programmers to declare conversions on classes or structs so that classes or structs can be converted to and/or from other classes or structs, or basic types.

Object.ToString应该回来

A string that represents the current object.

意思是“给我(通常是人类)对象的可读文本表示”。

(我并不是说这种语义总是受到尊重。例如,有时您可能会看到 ToStringFromString 被用作转换函数。)

关于c# - 在 C# 中覆盖 ToString 和使用隐式/显式转换运算符有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37643958/

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