2013-12-12 134 views
1

根據http://crsouza.blogspot.com.br/2012/01/decision-trees-in-c.html我用ToIntArray - 替換功能

DataTable symbols = codebook.Apply(data); 
int[][] inputs = symbols.ToIntArray("Outlook", "Temperature", "Humidity", "Wind"); 
int[] outputs = symbols.ToIntArray("PlayTennis").GetColumn(0); 

但在.NET 4.0和單聲道,沒有ToIntArray,還我找不到它的任何替換功能。

如何ToIntArray轉換symbols或有哪些呢ToIntArray樣子?

+0

我將刪除我的答案,因爲它是錯誤的,我想你應該添加自己的答案,告訴我們如何解決這個問題,以防其他人有同樣的問題。來自瑞典的問候(雖然我住在悉尼..)! –

+0

也許問題是你必須先導入Accord.Math命名空間。如果你的編譯器/環境仍然不支持擴展方法,你也可以嘗試調用Matrix.ToArray (...) – Cesar

回答

1

如果你不想下載並將Accord framework添加到你的項目中(注意:有可能它的依賴不受Xamarin的.NET實現支持),那麼幸運的是它是開源的,所以如果你只想看看公衆可以使用的代碼。

要回答的具體問題,.ToIntArray擴展方法(這是ToArray<int>()只是一個「別名」法)可以在這裏看到:

https://code.google.com/p/accord/source/browse/trunk/Sources/Accord.Math/Matrix/Matrix.Conversions.cs

然而,.Apply.GetColumn方法(從示例代碼)也是框架的一部分,因此您可能還需要查看該代碼。請參閱Matrix.Common和Matrix.Selection。

0

從當前版本開始,您可以使用ToInt32()以及ToDouble(),ToSingle(),ToBoolean()等來執行數組的類型轉換。