gpt4 book ai didi

C# 泛型——基于类型特征的重载

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

<分区>

我是 C# 的新手,我想创建一个接受任何数字参数的函数,无论它是 int/float、signed/unsigned、short/long 等,以及另一个接受任何其他类型的函数。

在 C++ 中,这可以使用 SFINAE 和 std::is_arithmetic 轻松完成:

template<typename T>
typename std::enable_if<std::is_arithmetic<T>::value>::type DoSomething(T)
{
std::cout<<"int/float/char..."<<std::endl;
}

template<typename T>
typename std::enable_if<!std::is_arithmetic<T>::value>::type DoSomething(T)
{
std::cout<<"any other type except int/float..."<<std::endl;
}

如何在 C# 中实现类似的行为?我不想为每个数字类型创建重载,因为所有数字类型的代码都完全相同。

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