Java Predicato C#開発者


記者会見を見た.
一度に前回と同じようにインプリメンテーションを確認しました

同様に、機能インタフェースとテストという関数を実装する必要があります.
testを作成しましたが、実際にはデータを計算する関数で、他の実際の名前があれば
いい感じになる
このほかdefault関数にはor,negate,and,isEqual,notが存在し,これらの関数の役割はコードが不慣れであるためにテストされたものではないが,1つのメソッドチェーンには複数の
これは評価を続けるためだと思います.
この連続性は、基本的な逆アクティビティを確認した後に再作成されます.
デフォルトコードを見て
public class PredicateDemo implements Predicate<Integer> {
    @Override
    public boolean test(Integer t) {
        if(t % 2 == 0) {
            return true;
        }
        return false;
    }

    public static void main(String[] args) {
        System.out.println("---------- functional ------------");
        Predicate<Integer> predicate = new PredicateDemo();
        System.out.println(predicate.test(7));
        System.out.println(predicate.test(6));


        System.out.println("---------- lamda ------------");
        Predicate<Integer> pre1 = i -> (i%2) == 0;
        System.out.println(pre1.test(7));
        System.out.println(pre1.test(6));

    }
}
Javaをしているときに見て知ったこと.任意のクラスでプログラムエントリポイントを作成できます...
あまり適応していませんが、テストコードの作成とテストに非常に適しています.
一応三千浦に落ちたけど…コードを再度表示します.
初回出力「functional」セクション
Predicateを継承する評価オブジェクトPredicateDemoが作成され、偶数でtrue、奇数でfalseが返される簡単な評価オブジェクトが生成されます.
これはJAVAが関数ポインタを依頼していないため,関数型オブジェクトを作成する原理である.
次に、「lamda」セクションの出力セクションでは、関数を除いてlamdaを直接呼び出す例を記述します.

この部分をC#に移動して確認します.以下のようにします.
using System;

namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {
            Func<int, bool> func = (i) =>
            {
                if((i%2) == 0)
                {
                    return true;
                }
                return false;
            };

            Console.WriteLine("------------ delegate -------------");
            Console.WriteLine(func(7));
            Console.WriteLine(func(6));

            Console.WriteLine("------------ lamda -------------");

            Func<int, bool> func2 = i => (i%2) == 0;
            Console.WriteLine(func2(7));
            Console.WriteLine(func2(6));

        }
    }
}
C#採決と同様、差はない.

Func Delegateを接頭辞とし、Funcの一番右側を戻り値とし、
因子のタイプから見ると、読みやすいです.
簡単に見ると、サンプルコードはintをパラメータとしてboolを受信して返す関数ポインタであり、この関数ポインタが旧式Funcでなくても、開発者は以下のように使用を宣言することができる.
public delegate bool Test(int i);
Java Predicatの関数名「Test」を宣言し、intをパラメータとして受信しboolを返す
Delegateを発表しましたので、代表を利用してみてはいかがでしょうか.
そうでなければ、generic Listの評価に使用される以下のコードがc#2.0に既に存在するため、以下のコードを使用することができる.
public delegate bool Predicate<in T>(T obj);
まず今日の結論を簡単に述べる.
Java PredicateはC#Func次は述語のor,negate,and,isEqual,not...
c#のlinqクエリをインタフェースとして実現すると宣言した感じです.