這個article描述了一種在C#中的方式,允許添加任何具有爲其定義的+操作符的值類型。從本質上講,它允許下面的代碼: public T Add(T val1, T val2)
{
return val1 + val2;
}
此代碼不能編譯,因爲沒有保證的T型具有的「+」操作符的定義,但效果與代碼實現這樣的: public T Add(T val1, T val2)
{
我正在研究C#庫,它使用NVIDIA的CUDA將某些工作任務卸載到GPU。這樣的一個例子是添加一起使用的擴展方法的兩個陣列: float[] a = new float[]{ ... }
float[] b = new float[]{ ... }
float[] c = a.Add(b);
在此代碼的工作是在GPU上完成的。但是,我希望它是異步完成的,只有當需要結果時纔會在CPU模塊上運