8 1 3 在 C 中使用函式集合

2021-05-26 06:32:21 字數 784 閱讀 3216

8.1.3 在 c# 中使用函式集合

考慮戶貸款端時,我們想要執行所有測試,並統計返回 true 的測試數(指高風險)。如果數量為零個或一,程式將建議貸款。正常的命令式解決方案是,宣告乙個變數,使用 foreach 語句列舉測試。在迴圈中體,執行測試,如果它返回 true,就增加變數。這可以更優雅地實現,通過使用 linq 擴充套件方法 count (清單 8.3)。

listing 8.3 executing tests (c#)

void testclient(listtests, client client) /noffer a loan: ",

client.name, suitable ? "yes" : "no");

}var john = new client ;

testclient(gettests(), john);

在函式術語中,count 是高階函式。它取乙個謂詞作為引數值,統計謂詞則返回 true 的元素數。我們使用它來統計有多少測試認為客戶不適合貸款。在本例中,集合的元素是乙個函式,所以,我們謂詞必須取乙個函式,返回乙個布林值。我們寫的 lambda 函式,執行作為它的引數值傳遞來的函式,指定客戶作為引數值,並返回測試的結果作為謂詞的結果。一旦我們要統計失敗的測試,計算並輸出結果都很容易。描述它的工作原理(即使在這個相對簡單的情況下)是複雜的,但如果你認為你正在嘗試處理每個元素,就不難理解。

我們前面提到過,這個示例的 f# 版本實質上是相同的。這是因為,所有必要的功能,如高階函式,lambda 函式,在集合中儲存函式的能力,在 c# 3.0 中也都是可用的。就讓我們來看看 f# 的**。

在C 應用中使用Matlab函式

在c 應用中使用matlab函式,其實質是使用.net元件進行混合程式設計,即將.m檔案生成.dll檔案,在c 專案中通過新增引用進行呼叫。所以可以分為以下三個步驟 編寫matlab函式形成.m檔案 通過.m檔案構建.dll檔案 建立c 專案並在其中新增上一步生成的.dll引用 本次測試的環境為wi...

pythonc函式 在Python中使用C函式

我已經嘗試過網際網路上提到的所有解決方案,但沒有乙個對我有效。在 我有乙個python 為了加快速度,我希望我的 在c函式中執行繁重的計算。我已經寫了這個c函式。在 然後,為了共享這個庫,我在終端做了這個 gcc shared wl,install name,testlib.so o testlib...

在C 中使用Queue

介紹 queue類執行將放在在queue中的物件採用先進先出的資料結構。物件從一端插入到佇列中從另一端移除。物件的順序程序使用queue queue介面 queue類實現了三個主要集合介面 icollection ienumerable和icloneable。queue的重要方法 queue類常用的...