C ,資料型別擴充套件 z

2022-01-22 15:00:22 字數 780 閱讀 6351

macd的公式 

diff : ema(close,short) - ema(close,long);

dea  : ema(diff,m);

macd : 2*(diff-dea), colorstick;

它的變數是可以直接進行加減*除的,但是我們要知道,它裡面的close這個東西實際上也是乙個陣列型別的。同過總結分析我們可以知道。我們在c#當中可以使用操作符過載來實現陣列的相加相減,或者運算。但是陣列這個東西是系統自帶的型別,我們是沒有辦法對它再進行操作符的過載,所以我們自己需要構造成乙個型別出來。

創造了乙個型別是 floatlist型別,

public class floatlist : list 

public floatlist(int length):base(length)

{}public floatlist(ienumerable input)

: base(input)

public static floatlist operator +(floatlist input,float m)

...其它的省略

}因為**裡面的資料實際上就是float型別了。

這樣你就可以對它進行操作符的過載了。 

再接下來你要實現的是乙個種全域性函式,實現的方式是通過父類來實現的。如果在是指令碼語言的話,還可以用其它的方式。

這樣的話你只要讓你的類去繼承basefunctions類就可以實現了。

看我們的乙個例子

public class macdhelper:basefunctions

dede擴充套件資料型別 資料型別擴充套件

資料型別擴充套件 整數擴充套件 整數的進製有二進位制 0b 八進位制 0 十進位制,十六進製制 0x 例 int num1 10 int num2 0b10 int num3 010 int num4 0x10 system.out.println num1 system.out.println n...

資料型別擴充套件

進製 二進位制0b 十進位制 八進位制0 十六進製制0x int i1 0 int i2 0b10 二進位制 int i3 010 八進位制 int i4 0x10 十六進製制 system.out.println i1 0 system.out.println i2 2 system.out.pr...

資料型別擴充套件

浮點型 float 與 double 特點 有限 離散 捨入誤差 大約 接近但不等於 float a 0.1f double b 1.0 10 system.out.println f d false float d1 12354554212f float d2 d1 1 system.out.pr...