是否有可能在Win32 Delphi應用程序LINQ在Win32 DELPHI
回答
德爾福2009年有泛型,類傭工和匿名方法支持,但不拉姆達,擴展方法或類型推斷。 Lambda表達式可能會在德爾福的未來版本中出現,但它們尚未出現在官方的路線圖中(希望新的版本即將推出)。 Delphi for Win32也無法訪問所有的LINQ庫。
那麼簡單的答案是否定的,你不能在Win32的德爾福做LINQ。你可以做一些類似的事情,你甚至可以在技術上甚至通過COM訪問LINQ(就像你可以使用任何.NET類一樣),但是如果沒有很酷的LINQ語法,它就會失敗。
LINQ實際上是一種.NET技術。雖然Delphi很可能會開發使LINQ成爲可能的語言特性,但底層的.NET庫僅用於.NET開發。
我會建議使用RemObject Data Abstract或相似。
Yes和No. LINQ真的可以被看作是兩個不同的項目中使用LINQ。
首先是喜歡查詢語法的SQL。這就是允許你用C#編寫以下代碼的原因。
var query = from it in "foobar" select Char.ToUpper(it);
對於delphi使用這個版本的LINQ,它需要添加顯式語法支持。 AFAIK這不存在。
引擎蓋下雖然,所有的LINQ查詢被轉換成一組查詢表達式。這些通常涉及大量使用lambda表達式和閉包。上面的代碼等同於以下非SQL語法版本。
var query = "foobar".Select(x => Char.ToUpper(x));
我不知道Delphi中lambda或delegate支持的級別,但應該可以從Delphi中訪問此方法中的LINQ。
- 您有一個小錯誤,您需要用「x」替換「it」。 Delphi Win32幾乎沒有任何使第二個例子工作的技術。沒有VAR。字符串和字符不是對象,並且您沒有短語法lamda表達式。 所以如果你能做到的話,那將會是一件很醜陋的事。 – 2009-01-04 00:50:54
@mliesen,謝謝修正了錯字。 – JaredPar 2009-01-04 00:51:50
我不知道是什麼版本的Delphi它一出現,但在XE我們有可製成閉合或接近相等lambda表達式「目標函數」。
因此,從今天開始(26/06/2011)在附近是可能在Delphi(第二種形式)中具有類似LINQ的表達式。
- 1. DELPHI中的jQuery win32
- 2. CardSpace和Delphi 2007/WIN32
- 3. Delphi D2009 for Win32和CodeDom
- 4. 在Win32中使用SOAP for Delphi入門
- 5. 與Delphi Win32一起使用Thrift
- 6. Delphi中的相互引用記錄(Win32)
- 7. Delphi Win32有什麼功能區控件?
- 8. .NET遠程處理和Delphi win32
- 9. 從Delphi(Win32)設置環境變量
- 10. 我可以在「Delphi 2007 for Win32」中使用.NET DLL嗎?
- 11. 如何在Delphi中找到硬錯誤的接口(Win32)
- 12. 如何在.NET中嵌入win32 Delphi窗體Winform
- 13. 在Delphi中將URL轉換爲有效的win32文件名稱
- 14. 在Delphi/Win32中將圖像放入組合框(右側邊緣)
- 15. 在Delphi Win32應用程序中顯示調用堆棧
- 16. 在Delphi 2009中列出可用的GDI +字體win32
- 17. 如何將Delphi Win32資源DLL轉換爲Delphi macOS應用程序?
- 18. Delphi Prism和LINQ to SQL/Entity Framework
- 19. 是否可以使用Delphi for win32創建SQL Server UDF?
- 20. 將delphi win32應用程序轉換爲庫和FreeLibrary凍結
- 21. Delphi win32應用程序中的社交網絡
- 22. 是否可以使用WPF和Delphi 2007/09 win32?
- 23. 爲什麼IWSDLPublish接口添加到Win32 Delphi WebService
- 24. Delphi Win32 VCL是否已經過Fuzz測試?
- 25. 數組屬性,TList,TStringList或TCollection等(Delphi Win32)
- 26. Delphi&SmartCards
- 27. 編譯指令WIN32和CPUX86,WIN64和CPUX64在Delphi中可以互換嗎?
- 28. GetFirstChild在win32中?
- 29. 在Delphi
- 30. 在Delphi
呃...不是擴展方法和類助手兩個名稱完全相同的東西?唯一的區別是它們中的一個在Delphi中使用,另一個在C#中使用,或者是否存在我忽略的一些關鍵功能? – 2009-01-05 14:42:04