1 EYLÜL 2010, ÇARŞAMBA
C# Değişken olarak İşlev Geçerek
C bir fonksiyon yazdım# sayısal bir farklılaşma yok. Bu gibi görünüyor:
public double Diff(double x)
{
double h = 0.0000001;
return (Function(x h) - Function(x)) / h;
}
Herhangi bir işlevi geçebilmek için, istiyorum:
public double Diff(double x, function f)
{
double h = 0.0000001;
return (f(x h) - f(x)) / h;
}
Bu temsilciler (belki?) ile mümkün olduğunu düşünüyorum ama bunları kullanmak için nasıl emin değilim.
Herhangi bir yardım büyük mutluluk duyacağız.
Teşekkürler, Kül
CEVAP
1 EYLÜL 2010, ÇARŞAMBA
Ama aynı zamanda aynı işi yapmak ve aynı zamanda adlandırma içinde niyet tanımlayan delegeler var, yukarıda belirtilen eserler olarak İşlev kullanarak:
public delegate double MyFunction(double x);
public double Diff(double x, MyFunction f)
{
double h = 0.0000001;
return (f(x h) - f(x)) / h;
}
public double MyFunctionMethod(double x)
{
// Can add more complicated logic here
return x 10;
}
public void Client()
{
double result = Diff(1.234, x => x * 456.1234);
double secondResult = Diff(2.345, MyFunctionMethod);
}
Bunu Paylaş:
İşlev olarak şablon bağımsız değişken ...
C için bir sebep mi'#; dosyalarda ...
Nasıl bir BASH değişken bir komut çıkt...
Nasıl C parametre olarak bir işlev geç...
Değişken ve işlev adları için Python a...