Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/311.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# iQueryable与表达式树_C#_Lambda_Expression Trees_Iqueryable - Fatal编程技术网

C# iQueryable与表达式树

C# iQueryable与表达式树,c#,lambda,expression-trees,iqueryable,C#,Lambda,Expression Trees,Iqueryable,有谁能通过提供一个非常基本的示例来解释如何在C#中使用(1)iQueryable(2)表达式树?两者并不相关,我想用一个问题来澄清我的疑问,而不是提出两个独立的问题 高级感谢。我通常不喜欢只链接东西,但这是一个更复杂的话题。我建议看这个视频: Erik很好地解释了这一点,并给出了一个简洁的Linq to Simpsons示例。我通常不喜欢只链接东西,但这是一个更复杂的主题。我建议看这个视频: Erik很好地解释了这一点,并给出了一个简洁的Linq to Simpsons示例。非常简单: Ex

有谁能通过提供一个非常基本的示例来解释如何在C#中使用(1)iQueryable(2)表达式树?两者并不相关,我想用一个问题来澄清我的疑问,而不是提出两个独立的问题


高级感谢。

我通常不喜欢只链接东西,但这是一个更复杂的话题。我建议看这个视频:


Erik很好地解释了这一点,并给出了一个简洁的Linq to Simpsons示例。

我通常不喜欢只链接东西,但这是一个更复杂的主题。我建议看这个视频:

Erik很好地解释了这一点,并给出了一个简洁的Linq to Simpsons示例。

非常简单:

Expression<Func<int,int,int>> addExp = (a,b) => a + b;
表达式addExp=(a,b)=>a+b;

var paramA=Expression.Parameter(typeof(int),“a”);
var paramB=表达式参数(typeof(int),“b”);
表达式addExp=Expression.Lambda(
表达式.Add(paramA,paramB),
帕拉玛,
paramB);
构建IQueryable提供程序相当困难。但是,

的制作非常简单:

Expression<Func<int,int,int>> addExp = (a,b) => a + b;
表达式addExp=(a,b)=>a+b;

var paramA=Expression.Parameter(typeof(int),“a”);
var paramB=表达式参数(typeof(int),“b”);
表达式addExp=Expression.Lambda(
表达式.Add(paramA,paramB),
帕拉玛,
paramB);
构建IQueryable提供程序相当困难。然而,

表达式=(obj,str)=>
obj.GetType()
.GetProperty(
obj.GetType()
.GetProperties()
托利斯先生()
.Find(prop=>
prop.Equals(str,StringComparison.OrdinalIgnoreCase.Name.ToString());
var obj=expression.Compile()(rowsData.FirstOrDefault(),sortIndex);
表达式表达式=(obj,str)=>
obj.GetType()
.GetProperty(
obj.GetType()
.GetProperties()
托利斯先生()
.Find(prop=>
prop.Equals(str,StringComparison.OrdinalIgnoreCase.Name.ToString());
var obj=expression.Compile()(rowsData.FirstOrDefault(),sortIndex);
马特系列的新鲜链接:马特系列的新鲜链接:
Expression<Func<T, string, PropertyInfo>> expression = (obj, str) => 
    obj.GetType()
       .GetProperty(
           obj.GetType()
              .GetProperties()
              .ToList()
              .Find(prop =>
                    prop.Equals(str, StringComparison.OrdinalIgnoreCase).Name.ToString());
var obj = expression.Compile()(rowsData.FirstOrDefault(), sortIndex);