Expression及Equal Demo
代码参考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的更多相关文章
- 用idea搭建一个简单的SSM的Demo
1.新建一个maven web app项目 结构如下 resources的资源文件如下 applicationContext.xml 的配置 <?xml version="1.0&q ...
- [C2P2] Andrew Ng - Machine Learning
##Linear Regression with One Variable Linear regression predicts a real-valued output based on an in ...
- [Spring]04_最小化Spring XML配置
4.1 自动装配 Bean Spring 装配 bean 时,有时非常明确,就是需要将某个 bean 的引用装配给指定属性. 例如,若应用上下文中只有一个 javax.sql.DataSource 类 ...
- Entity FrameWork 6帮助类
public class BaseDAL { string strConn = ""; public BaseDAL(string connString) { strConn = ...
- eclipse + maven 搭建springMVC+Spring+mybatis 系统
首先需要下载maven 安装maven插件.自行百度. 1: 创建maven系统 http://huxiaoheihei.iteye.com/blog/1766986 2:添加pom依赖: pom.x ...
- Spring整合Hibernate详细步骤
阅读目录 一.概述 二.整合步骤 回到顶部 一.概述 Spring整合Hibernate有什么好处? 1.由IOC容器来管理Hibernate的SessionFactory 2.让Hibernate使 ...
- EFsql笔记
like的语法 string[] cities = { "London", "Madrid" }; IQueryable<Customer> cus ...
- [读行者][学习LinqExpression和Reflection(Emit)]阅读TypeBuilderSample之ExampleFromTheArticle
前言 关于”读行者“ 俗语有云:"读万卷书,行万里路“.多读一些优秀代码,不仅可以锻炼我们读代码的能力(便于维护或相互交流),还可以吸取很多我们成长所需的知识点.多读,才能开阔我们的眼界,才 ...
- 学习并使用了两种linq to entity 的实现sql关键字in的查询方法
//构造Lambda语句 private static Expression<Func<TElement, bool>> BuildWhereInExpressi ...
- entity framework 6 通用数据类
原文 http://blog.csdn.net/laokaizzz/article/details/25730813 public class BaseDAL { string strConn = ...
随机推荐
- 【10】python之条件判断
Python 条件语句是通过一条或多条语句的执行结果(True 或者 False)来决定执行的代码块. Python中没有switch – case语句,也没有三元运算符. 1.if 语句 Pytho ...
- ping Hyper-V内虚拟机网络延迟
- string字符串类型的属性及各种方法
C# 字符串(String) 在 C# 中,您可以使用字符数组来表示字符串,但是,更常见的做法是使用 string 关键字来声明一个字符串变量.string 关键字是 System.String 类的 ...
- VUE学习-基础(基础语法 & 模板语法)
基础语法 引入vue <!-- 开发环境版本,包含了有帮助的命令行警告 --> <script src="https://cdn.jsdelivr.net/npm/vue/ ...
- 集群笔记-fence
fence机制: 隔离主机到存储的连接 配置fence_xvm步骤 KVM fence 请问物理机器需要真实的fence 设备吗? 否 一.将物理机器(宿主机)f0配置成fence设备 1. 安装fe ...
- QSlider CSS样式
QSlider::groove:horizontal{ border:0px; height:15px; background:#deffe5; } QSlider::sub-page:horizon ...
- windows检查
# coding: UTF-8 import psutil import platform import re def get_cpu_used(upu_base, interval=1): perc ...
- glibc被卸载恢复过程
问题描述:升级软件包时,rpm -e glibc --nodeps 卸载了glibc软件,glibc是系统命令库,之后一些命令不能使用,系统几近奔溃恢复步骤: 1). 挂载装系统光盘,设置从光盘启动, ...
- EOVS 83开局
目录 公司筹备阶段 第一季 公司筹备阶段 第一季
- react native 上传图片(后面有空写一个,完整的案例)
图片上传的思路很正确 https://www.jianshu.com/p/c9f030fa6754 1. 获取图片路径 利用react-native-image-crop-pick 从手机中获得图片的 ...