代码参考1:

using System;
using System.Linq.Expressions; namespace ExpressionDemo
{
class People
{
public int Id { set; get; }
public string Name { set; get; }
}
class Program
{
static void Main(string[] args)
{
Expression<Func<People, bool>> expression = p => p.Id == 20;
Func<People, bool> func = expression.Compile();
bool bResult = func.Invoke(new People()
{
Id = 10,
Name = "张三"
});
Console.WriteLine(bResult); Expression<Func<int, int>> expression2 = (num) => num + 5;
Console.WriteLine($"NodeType:{expression2.NodeType}");
Console.WriteLine($"Body:{expression2.Body}");
Console.WriteLine($"Body Type: {expression2.Body.GetType()}");
Console.WriteLine($"Body NodeType: {expression2.Body.NodeType}");
}
}
}

参考代码2:

using System;

namespace EqualSoOnDemo
{
class People
{
private string name;
public string Name
{
get { return name; }
set { name = value; }
} public override bool Equals(object obj)
{
People p = obj as People;
if (this.Name == p.Name)
{
return true;
}
else
{
return false;
}
}
public People(string name)
{
this.name = name;
}
}
class Program
{
static void Main(string[] args)
{
string a = "hello";
string b = new string(new char[] { 'h', 'e', 'l', 'l', 'o' });
Console.WriteLine(a == b);
Console.WriteLine(a.Equals(b));
Console.WriteLine("\n");
Int32 m = 3;
Int32 n = 3;
Console.WriteLine(n == m);
Console.WriteLine(n.Equals(m));
Console.WriteLine("\n");
object g = a;
object h = b;
Console.WriteLine(g == h);
Console.WriteLine(g.Equals(h));
Console.WriteLine(g.GetHashCode() + " " + h.GetHashCode());
Console.WriteLine("\n");
People p1 = new People("Jimmy");
People p2 = new People("Jimmy");
Console.WriteLine("People...");
Console.WriteLine(p1 == p2);
Console.WriteLine(p1.Equals(p2));
Console.WriteLine(p1.GetHashCode() + " " + p2.GetHashCode());
Console.WriteLine("\n");
People p3 = new People("Jimmy");
People p4 = p3;
Console.WriteLine(p3 == p4);
Console.WriteLine(p3.Equals(p4));
}
}
}

参考博客:

https://www.cnblogs.com/zhaoshujie/p/15817805.html

Expression及Equal Demo的更多相关文章

  1. 用idea搭建一个简单的SSM的Demo

    1.新建一个maven  web app项目 结构如下 resources的资源文件如下 applicationContext.xml 的配置 <?xml version="1.0&q ...

  2. [C2P2] Andrew Ng - Machine Learning

    ##Linear Regression with One Variable Linear regression predicts a real-valued output based on an in ...

  3. [Spring]04_最小化Spring XML配置

    4.1 自动装配 Bean Spring 装配 bean 时,有时非常明确,就是需要将某个 bean 的引用装配给指定属性. 例如,若应用上下文中只有一个 javax.sql.DataSource 类 ...

  4. Entity FrameWork 6帮助类

    public class BaseDAL { string strConn = ""; public BaseDAL(string connString) { strConn = ...

  5. eclipse + maven 搭建springMVC+Spring+mybatis 系统

    首先需要下载maven 安装maven插件.自行百度. 1: 创建maven系统 http://huxiaoheihei.iteye.com/blog/1766986 2:添加pom依赖: pom.x ...

  6. Spring整合Hibernate详细步骤

    阅读目录 一.概述 二.整合步骤 回到顶部 一.概述 Spring整合Hibernate有什么好处? 1.由IOC容器来管理Hibernate的SessionFactory 2.让Hibernate使 ...

  7. EFsql笔记

    like的语法 string[] cities = { "London", "Madrid" }; IQueryable<Customer> cus ...

  8. [读行者][学习LinqExpression和Reflection(Emit)]阅读TypeBuilderSample之ExampleFromTheArticle

    前言 关于”读行者“ 俗语有云:"读万卷书,行万里路“.多读一些优秀代码,不仅可以锻炼我们读代码的能力(便于维护或相互交流),还可以吸取很多我们成长所需的知识点.多读,才能开阔我们的眼界,才 ...

  9. 学习并使用了两种linq to entity 的实现sql关键字in的查询方法

    //构造Lambda语句        private static Expression<Func<TElement, bool>> BuildWhereInExpressi ...

  10. entity framework 6 通用数据类

    原文  http://blog.csdn.net/laokaizzz/article/details/25730813 public class BaseDAL { string strConn = ...

随机推荐

  1. nginx ip段限制

    deny 123.0.0.0/8; // 封 123.0.0.1~123.255.255.254 这个段的ip deny 123.1.0.0/16; // 封 123.1.0.1~123.1.255. ...

  2. Go实现KMP和Sunday算法

    KMP 1 func KMP(str, substr string) int { 2 if substr == "" { 3 return 0 4 } 5 strLen := le ...

  3. golang_nethttp

    package main import ( "encoding/json" "fmt" "log" "net/http" ...

  4. Xpath 常用语法展示

    非标准代码处理 from lxml import etree #导入lxml 中erree模块 parser = etree.HTMLParser(encoding="utf-8" ...

  5. go中的Itoa、Atoi和iota

    1. strcov包中的 Itoa 和Atoi Itoa (用于将整数转换为字符串) 来源:早期c语言中没有string类型而是用字符数组array表示字符串,所以 Itoa 是缩写于Int to A ...

  6. kibana7.6.2源码开发编译

    1.进入kibana的github网址,选择自己需要的kibana版本,因为项目使用的是elasticseach7.6.2,所以我选择的是kibana v7.6.2 2.通过git命令clone所需要 ...

  7. canvas合并图片并长按保存

    代码实现 <div class="pho-bg"> <img src="../../assets/images/FeedbackActivity/pos ...

  8. golang 指针

    一个指针变量指向了一个值的内存地址,类似于变量和常量,在使用指针前你需要声明指针. 每个变量在运行时都拥有一个地址,这个地址代表变量在内存中的位置.使用&字符放在变量前面对变量进行" ...

  9. NIO 缓冲区 ByteBuffer 之黏包和半包

    一.低效率方式 /** * 黏包.半包 */ private static void buffExample2() { /* 网络上传输多条数据给服务器,数据之间使用 \n 分隔. 但由于某种原因(多 ...

  10. ES语法(简)

    1.上编写到怎样安装部署elk,这篇记录怎样简单使用.以便于后期复习使用. 2.登录localhost:5601进入开发者模式. 3.初学担心没有数据可以自己PUT数据比较直观的学习语法.这里可以用网 ...