【c# – Lambda事件处理程序范围】教程文章相关的互联网学习教程文章

c# – 是否可以获取IQueryable上使用的谓词(Expression>)并将其应用于另一个Lambda函数?【代码】

我有以下问题: >我得到了一个IQueryable< T>来自LinqToQueryString>这个IQueryable< T>用于查询MongoDB> IQueryable< T>用于返回分页数据集以及确定页面等的项目总数> MongoDB在IQueryable< T> .Where().Count()上向Count添加一个group by.这会导致Count操作运行得非常慢. 可能的方法: >获取表达式< Func< T,bool>>从最初的IQueryable< T>并将其应用于mongoCollection< T> .Count(过滤器).这绕过了这个问题. 我试图从IQueryable<...

c# – 用于Unpivoting DataTable的Lambda表达式【代码】

我正在以下列格式从Excel工作表中读取数据 – 我需要以下列方式存储数据 – 我试图在Linq lambda表达的帮助下做到这一点,但我想我没有得到这个. 我尝试了什么 – DataTable dataTable= ReadExcel();var dt = dataTable.AsEnumerable();var resultSet = dt.Where(x => !String.IsNullOrEmpty(x.Field<String>("Project_Code"))).GroupBy(x =>new{Month = x.Field<String>("Month"),ProjectCode = x.Field<String>("Project_Code"),/...

c# – 添加到Lambda Expression并使用Entity Framework【代码】

如果我想要检索更多具有已存在的lambda树表达式的列 如下,我该怎么做?这适用于实体框架,并希望它仍然有效.Expression<Func<DivisionTeam, DirectorTeamModel>> columns= (d) => new DirectorTeamModel {Id = d.Id,TeamId = d.Team.Id };if (criteria.Template == ExportTemplate.Import || criteria.Template == ExportTemplate.Default) {// Retrieve additional columns from "columns" expression tree }return _divisionTeams...

c# – 发布AWS Lambda .Net Core【代码】

我想使用AWS Lambda函数.我在Visual Studio 2017中创建了一个示例AWS Lambda项目(.net core 1).我创建了一个简单的函数并将其发布到AWS Lambda.当我按下“调用”按钮时似乎正在工作.但是,此功能不会出现在AWS控制台中.我想在执行此功能时设置一个计时器(cron),但我无法通过AWS控制台访问它.public class Function {public async Task<string> FunctionHandler(){HttpClient client = new HttpClient();var response = await client...

c# – 从lambda表达式中排除null或空字符串值【代码】

在我的GetAll函数应用程序中,我有一个名为(CustomerModel)的参数.我用它来对查询进行一些过滤,我使用规范模式来避免使用if-else:public async Task<List<CustomerModel>> GetAllAsync(CustomerModel customer, Order order = Order.Ascending, int pageIndex = 1, int pageSize = int.MaxValue){var skip = (pageIndex - 1) * pageSize;var filter = new CustomerNameSpecification(customer).And(new CustomerNoSpecification(cu...

如何在C#中使用表达式创建动态lambda连接查询?【代码】

我是动态表达式查询的新手…… 我想动态创建一个连接查询.下面是我想要等效动态查询的查询:var lstNums = new List<int> { 100, 101 }; var getAll = new StudenRepository().GetAll(); //Returns IQuerable<Student>var query = getAll.Join(lstNums, a => a.StudentId, b => b, (a, b) => a).ToList(); > lstNums可以是任何原始数据类型的列表> getAll包含IQuerable,这可以是任何实体的IQuerable>查询将包含List< Student>与ge...

c# – 从lambda表达式创建一个字符串

我有把SQL带到子句的函数,我想知道是否有办法让它们都是强类型的.有没有办法采用lambda表达式,如a => a.AgencyID == id并将其转换为字符串where子句?比如“AgencyID =’idValue’”? 谢谢!解决方法:您可以将lambda函数转换为expression tree,然后遍历树以构建字符串.

C#编译的lambda表达式实例创建和/或垃圾回收?【代码】

请考虑以下代码示例:using System; using System.Linq.Expressions;public class Class1<T, Y> {public Class1(Expression<Func<T, Y>> mapExpression){GetValue = mapExpression.Compile();}public Func<T, Y> GetValue { get; protected set; } }public class DataClass {public long Data { get; set; } }现在假设我在不同的地方制作了Class1的新实例,例如var instance1 = new Class1<DataClass, long>(x => x.Data); var inst...

c# – 属性Lambda表达式获得额外的转换(p => p.Property)【代码】

我有一个问题,在某些情况下(似乎是属性类型是bool)lambda表达式用于引用属性.我用它来得名;问题是有时候表达式被修改为具有额外的Convert()函数. 例如GetPropertyName<TSource>(Expression<Func<TSource, object>> propertyLambda) {...}var str = GetPropertyName<MyObject>(o=>o.MyBooleanProperty);发生了什么事情,propertyLambda看起来像Convert(o.MyBooleanProperty)而不是我期望的o.MyBooleanProperty.解决方法:转换是添加的...

c# – 用value替换lambda表达式中的nullable参数【代码】

是否可以替换表达式< Func< Nullable< TValue>>>表达式< Func< TValue>>? 其中值为Nullable< TValue> .GetValueOrDefault().解决方法:Is it possible to replace Expression<Func<Nullable<TValue>>> with Expression<Func<TValue>>?当然 – 这只是包装lambda的最外层结果:static void Main() {Expression<Func<int?>> x = () => 1, y = () => null;Expression<Func<int>> a = DeNullify(x), b = DeNullify(y);Console.WriteLine...

c# – 使用表达式从Lambda创建安全的深层属性访问器【代码】

我的目标是使用Lambdas创建一个属性绑定对象,可以安全地检索深属性值.通过安全,如果以前的属性之一为null而不是抛出空引用异常,则返回属性类型的默认值. 方法签名:public static Func<TO, TP> BuildSafeAccessor<TO, TP>(this Expression<Func<TO, TP>> propertyExpression) where TO: class { }*编辑:澄清我的问题 所以,如果我打电话:var safeAccessor = BuildSafeAccessor<Person>(p => p.Address.Zip);当调用safeAccessor时,...

c# – 将lambda表达式转换为Func,IDisposable>【代码】

我在Programming C#5.0中阅读了以下示例.为什么可以将此lambda表达式转换为Func< IObserver< char>,IDisposable>当它没有返回IDisposable时.IObservable<char> singularHotSource = Observable.Create((Func<IObserver<char>, IDisposable>)(obs =>{while (true){obs.OnNext(Console.ReadKey(true).KeyChar);}}));解决方法:正如@Patryk所说,这基本上与询问相同:“为什么这可以说它返回int,当它没有?”:int SomeMethod(){while (...

c# – 如何“修复”lambda表达式?【代码】

我有一个方法,public static void AddEventWatch(EventFilter filter) {SDL_AddEventWatch((IntPtr data, ref SDL_Event e) =>{filter(new Event(ref e));return 0;}, IntPtr.Zero); }这称为C函数,[DllImport("SDL2.dll", CallingConvention = CallingConvention.Cdecl, EntryPoint = "SDL_AddEventWatch")] internal static extern void SDL_AddEventWatch(SDL_EventFilter filter, IntPtr userData);期待回调. 如上所示,我以lamb...

c# – 如何在调用NormalizeWhitespace方法时阻止Lambda块语句中的新行【代码】

我有以下代码..var tree = CSharpSyntaxTree.ParseText(@"Func<string, string> parser = value =>{return string.Format(""Hello {0}"", value);}; ");var root = (CompilationUnitSyntax)tree.GetRoot(); var result = root.NormalizeWhitespace().GetText().ToString();在打印输出时,NormalizeWhitespace方法将分号推送到新行.反正我们可以阻止这个吗? 此外,是否可以将分号移近花括号. 感谢您的帮助.解决方法:因为字符串文字总...

c# – 没有lambda表达式的路由【代码】

在Nancy注册路线下面是the official example.但是如果我不想在那个方法中“做某事”,而是在DoSomething()中做什么呢?public class ProductsModule : NancyModule {public ProductsModule(){Get["/products/{id}"] = _ =>{//do something};} }public abstract class NancyModule : INancyModule, IHideObjectMembers {public RouteBuilder Get { get; } }public class RouteBuilder : IHideObjectMembers {public RouteBuilder(str...