欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

淺談c#表達式樹Expression簡單類型比較demo

 更新時間:2017年02月15日 11:25:58   投稿:jingxian  
下面小編就為大家?guī)硪黄獪\談c#表達式樹Expression簡單類型比較demo。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

實例如下:

using System;
using System.Linq.Expressions;

class DynamicPredicate
{
  public static Expression<Func<T, T, bool>> Generate<T>(string op)
  {
    ParameterExpression x = Expression.Parameter(typeof(T), "x");
    ParameterExpression y = Expression.Parameter(typeof(T), "y");
    return Expression.Lambda<Func<T, T, bool>>
    (
      (op.Equals(">")) ? Expression.GreaterThan(x, y) :
        (op.Equals("<")) ? Expression.LessThan(x, y) :
          (op.Equals(">=")) ? Expression.GreaterThanOrEqual(x, y) :
            (op.Equals("<=")) ? Expression.LessThanOrEqual(x, y) :
              (op.Equals("!=")) ? Expression.NotEqual(x, y) :
                Expression.Equal(x, y),
      x,
      y
    );
  }
}

static void Main()
  {
    string op = ">=";
    var integerPredicate = DynamicPredicate.Generate<int>(op).Compile();
    var floatPredicate = DynamicPredicate.Generate<float>(op).Compile();

    int iA = 12, iB = 4;
    Console.WriteLine("{0} {1} {2} : {3}",
              iA, op, iB, integerPredicate(iA, iB));

    float fA = 867.0f, fB = 867.0f;
    Console.WriteLine("{0} {1} {2} : {3}",
              fA, op, fB, floatPredicate(fA, fB));

    Console.WriteLine("{0} {1} {2} : {3}",
              fA, ">", fB, DynamicPredicate.Generate<float>(">").Compile()(fA, fB));

    Console.ReadLine();
  }

以上這篇淺談c#表達式樹Expression簡單類型比較demo就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • C#如何實現(xiàn)圖片的剪裁并保存

    C#如何實現(xiàn)圖片的剪裁并保存

    基于c#實現(xiàn)圖片的裁剪并保存功能,實現(xiàn)方法非常簡單的,前端采用的cropper插件,但是在本文中沒有給大家多介紹,需要的朋友可以到腳本之家去查找這個插件。好了,如果大家對c#實現(xiàn)圖片裁剪并保存功能感興趣的朋友一起看看吧
    2016-11-11
  • C#實現(xiàn)插入排序算法實例

    C#實現(xiàn)插入排序算法實例

    這篇文章主要介紹了C#實現(xiàn)插入排序算法,實例分析了插入排序算法的原理與實現(xiàn)技巧,需要的朋友可以參考下
    2015-05-05
  • C#后臺調用前臺JS函數(shù)方法

    C#后臺調用前臺JS函數(shù)方法

    今天小編就為大家分享一篇關于C#后臺調用前臺JS函數(shù)方法,小編覺得內容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-01-01
  • C#二進制讀寫B(tài)inaryReader、BinaryWriter、BinaryFormatter

    C#二進制讀寫B(tài)inaryReader、BinaryWriter、BinaryFormatter

    這篇文章介紹了C#二進制讀寫B(tài)inaryReader、BinaryWriter、BinaryFormatter的用法,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-06-06
  • C#實現(xiàn)只運行單個實例應用程序的方法(使用VB.Net的IsSingleInstance)

    C#實現(xiàn)只運行單個實例應用程序的方法(使用VB.Net的IsSingleInstance)

    這篇文章主要介紹了C#實現(xiàn)只運行單個實例應用程序的方法,本文使用的是VB.Net的IsSingleInstance方法實現(xiàn),優(yōu)于Mutex 和 Process 這兩種只運行單個應用程序實例的方法,需要的朋友可以參考下
    2014-07-07
  • c# WPF中CheckBox樣式的使用總結

    c# WPF中CheckBox樣式的使用總結

    這篇文章主要介紹了c# WPF中CheckBox樣式的使用總結,幫助大家更好的理解和學習使用c#,感興趣的朋友可以了解下
    2021-03-03
  • C#判斷三角形的類型

    C#判斷三角形的類型

    這篇文章主要介紹了C#判斷三角形的類型的方法,通過輸入三角形的三條邊長,判斷是否能構成一個三角形,感興趣的小伙伴們可以參考一下
    2015-11-11
  • C#串口通信總是丟數(shù)據(jù)的原因及解決方案

    C#串口通信總是丟數(shù)據(jù)的原因及解決方案

    在上位機開發(fā)中,串口通信是一個非常常見的通信方式,尤其是在與嵌入式設備、PLC、傳感器等硬件設備進行交互時,串口通信簡單、直接且廣泛應用,但它也有自己的局限性,那么,為什么你的C#串口通信總是丟數(shù)據(jù)?本文將深度分析串口通信丟數(shù)據(jù)的原因,并提供一些有效的解決方案
    2025-02-02
  • c#目錄操作示例(獲取目錄名稱 獲取子目錄)

    c#目錄操作示例(獲取目錄名稱 獲取子目錄)

    這篇文章主要介紹了c#目錄操作示例,包括獲取目錄名稱、獲取子目錄、查詢子目錄、將原目錄移動到目標目錄等操作,大家參考使用吧
    2014-01-01
  • C#實現(xiàn)溫度轉換功能

    C#實現(xiàn)溫度轉換功能

    這篇文章主要為大家詳細介紹了C#實現(xiàn)溫度轉換功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-01-01

最新評論