c# - Newbie Q 关于使用引用和泛型

标签 c# generics reference

这是我第一次需要使用泛型和引用,我遇到了困难。我知道这很明显。

public class Program
{
    void SWAP<T>(ref T a, ref T b) { T dum = a; a = b; b = dum; }

    static void Main(string[] args)
    {
        double a = 1; double b = 2;
        double c = SWAP(a, b);

        Console.Write(a.ToString());        

        Console.Read();
    }
}

在调试“SWAP(a, b)”时给出错误:“Program.SWAP(ref double, ref double)”的最佳重载方法有一些无效参数。

非常感谢您提出这些类型的问题, 维克多

最佳答案

当调用一个使用 ref 值的函数时,你需要告诉编译器取一个 ref。此外,您的 SWAP 不会返回值。

所以交换线应该是

SWAP(ref a, ref b);

关于c# - Newbie Q 关于使用引用和泛型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2338361/

相关文章:

c - printf 是如何处理这个 char** 参数的?

c# - 如何比较linq查询中where子句中的泛型

java - 检查类型是否通用

java - 以多态方式将 Java 枚举值转换为字符串列表

c# - Moq - 模拟泛型方法的正确设置

c++ - 如何在现代 C++ 中表达引用关系而不表达所有权?

c# - 创建 Word 文档并从 .NET 应用程序添加图像

c# - 具有默认数据的通用对象创建方法

c# - 这种访问修饰符方法的目的是什么?

java - 尝试使用 Java 中的构造函数创建对象的 "copy",但是我传入的内容会发生什么?