linq

WPF入门教程系列二——Application介绍

家住魔仙堡 提交于 2021-02-20 16:23:26
一.Application介绍 WPF和WinForm 很相似, WPF与WinForm一样有一个 Application对象来进行一些全局的行为和操作,并且每个 Domain (应用程序域)中仅且只有一个 Application 实例存在。和 WinForm 不同的是WPF Application默认由两部分组成 : App.xaml 和 App.xaml.cs,这有点类似于 Asp.Net WebForm,将定义和行为代码相分离。 微软把WPF中经常使用的功能都封装在 Application 类中了。 Application 类具体有以下功能: 跟踪应用程序的生存期并与之交互。 检索和处理命令行参数。 检测和响应未经处理的异常。 共享应用程序范围的属性和资源。 管理独立应用程序中的窗口。 跟踪和管理导航。 二.WPF应用程序的启动 关于如何在Visual Studio中创建一个“WPF应用程序”,前面的文章中已经说过了。请参见 WPF入门教程系列一——基础 。 1、在Visual Studio 2013中创建一个“WPF应用程序”,使用App.xaml文件定义启动应用程序。XAML从严格意义上说并不是一个纯粹的 XML 格式文件,它更像是一种 DSL(Domain Specific Language,领域特定语言),它的所有定义都会由编译器最后编译成代码。App

C# Lambda表达式

北城以北 提交于 2021-02-20 07:40:58
一、简介     Lambda表达式来源于数学家Alonzo Church等人在1920~1930期间发明的Lambad积分。Lambda积分是用于表示函数的一套系统,它使用希腊字母Lambda( λ )来表示无名函数。   C# 3.0引入了Lambda表达式,它是一种简化的匿名函数,可用于创建委托或表达式目录树。你也可以将 Lambda 表达式作为参数进行传递,或者将它作用于函数调用值调用后返回的一个函数来使用。 二、基础   它的语法形式是: 输入参数 => 表达式或语句块    即运算符的左边是输入参数(如果有),右边是表达式或语句块。 ( “ => ” 读作 “ goes to ” )      2.1 表达式Lambda    表达式位于 => 运算符右侧的 lambda 表达式称为“表达式 lambda”。 表达式 Lambda 会返回表达式的结果 ,并采用以下基本形式: (input parameters) => expression delegate int myDel( int x, int y); // 声明委托 class Program { static void Main( string [] args) { myDel del = (x,y) => x+ y; //返回x+y的结果        Console.WriteLine( " values

Pass LINQ expression as parameter to where clause

心已入冬 提交于 2021-02-20 05:18:31
问题 Please read the question carefully before voting to close it. That is not a duplicate. I am trying to build a generic method that returns list of entities of type T joined to logs of type AuditLog. Here is a LEFT JOIN interpretation in LINQ that I use var result = from entity in entitySet from auditLog in auditLogSet.Where(joinExpression).DefaultIfEmpty() select new { entity, auditLog }; return result.GroupBy(item => item.entity) .Select(group => new { Entity = group.Key, Logs = group.Where(i

Entity Framework(三)---FluentAPI和增删查改

痞子三分冷 提交于 2021-02-20 02:44:23
一、FluentAPI: 1、基本配置: namespace ConsoleApp14.ModelConfig { public class PersonConfig: EntityTypeConfiguration<Person> { // 继承自EntityTypeConfiguration,并将Person传进来 public PersonConfig() { this .ToTable( " T_Persons " ); } } } public class TestDbContext:DbContext { public TestDbContext(): base ( " name=connstr " ) // name=connstr 表示使用连接字符串中名字为connstr的数据库 { } public DbSet<Person> Persons { get ; set ; } protected override void OnModelCreating(DbModelBuilder modelBuilder) { base .OnModelCreating(modelBuilder); // 用法一:从本程序集中加载所有继承自EntityTypeConfiguration类的配置 modelBuilder.Configurations

Word文档开发处理工具Aspose.Words v21.2发布!(含新功能演示)

旧街凉风 提交于 2021-02-19 12:04:55
Aspose.Words for .Net是一种高级Word文档处理API,用于执行各种文档管理和操作任务。API支持生成,修改,转换,呈现和打印文档,而无需在跨平台应用程序中直接使用Microsoft Word。2021 年2月更新来啦,.NET版Aspose.Words更新至v21.2新版本! 主要特点如下: 实现了API以操纵Font对象的主题属性。 添加了在保存时更新CreatedTime属性的选项。 使用新的CustomTimeZoneInfo选项扩展了SaveOptions。 使用新的SmartParagraphBreakReplacement选项扩展了FindReplaceOptions类。 提供了从COM应用程序中的IStream对象加载文档的功能。 >>你可以 下载 Aspose.Words for .NET v21.2测试体验。 具体更新内容 关键 概括 类别 WORDSNET-21363 支持为LINQ Reporting Engine动态添加组合框和下拉列表项 新功能 WORDSNET-6146 允许从OLE对象提取可见的纯文本 新功能 WORDSNET11848 添加保存选项以模仿MS Word行为或不模仿创建,修改和打印日期 新功能 WORDSNET-6125 添加选项以将文档中的图像导出为SVG格式的HTML 新功能 WORDSNET-10148

When is the LINQ query actually get executed?

…衆ロ難τιáo~ 提交于 2021-02-19 08:46:07
问题 Suppose we have the following LINQ query: var query = from c in Customers where c.Country == "Italy" orderby c.Name select new { c.Name, c.City }; Compiler will convert it like this: IEnumerable<Customer> query = Customers .Where( c => c.Country == "Italy" ); .OrderBy( c => c.Name ) .Select( c => new { c.Name, c.City } ); Then I coud use the query like this: foreach ( var name_city_pair in query ) ... Questions are: It seems the data specified by the query is already queried out when I use

EF Core 3.1.1 Avoiding the exception “The data types text and varchar are incompatible in the equal to operator” just as LINQPad 6 does

Deadly 提交于 2021-02-19 08:04:09
问题 I am trying to run this LINQ expression through Entity Framework Core 3.1.1. using (Text3Context text3Context = new Text3Context(_constringText3)) { var aus = text3Context.Ausschreibungen.Where(a => a.InhaltKurzText.Contains(value)).Select(c => c.InhaltKurzText).ToList(); } Unfortunately it throws the exception: "The data types text and varchar are incompatible in the equal to operator" however, when I run the same expression in LINQPad 6: string value = "test"; var aus = Ausschreibungen

Dynamic linq nested group

*爱你&永不变心* 提交于 2021-02-19 06:55:09
问题 How can i do dynamic nested group? let say that i have this example: result.GroupBy(f => f.level1) .Select(l1 => new { name = l1.Key, children = l1.GroupBy(l2 => l2.level2) .Select(l2 => new { name = l2.Key, children = l2.GroupBy(l3 => l3.level3) .Select(l3 => new { name = l3.Key, children = new someObject() }); How can i change this to do group dynamically by parameter. Start from deeper and go on. 回答1: If you want to truly dynamically nest this, I would not store the level names as

C#实现获取当前文件路径的上级路径

て烟熏妆下的殇ゞ 提交于 2021-02-19 06:55:03
界面: 声明: textBox1.Text为指定文件路径:string path = @"F:\ABB-pragram\ABB工作站\ABB Station\Systems\SituationalTeaching_Carry\HOME"; textBox2.Text为得到的该指定文件路径的上级路径(通过:提取路径按钮实现) 代码: 1 using System; 2 using System.Collections.Generic; 3 using System.ComponentModel; 4 using System.Data; 5 using System.Drawing; 6 using System.IO; 7 using System.Linq; 8 using System.Text; 9 using System.Windows.Forms; 10 11 namespace 文件路径测试 12 { 13 public partial class Form1 : Form 14 { 15 public Form1() 16 { 17 InitializeComponent(); 18 } 19 string path = @" F:\ABB-pragram\ABB工作站\ABB Station\Systems\SituationalTeaching_Carry

How to modify only one or two field(s) in LINQ projections?

岁酱吖の 提交于 2021-02-19 01:17:32
问题 I have this LINQ query: List<Customers> customers = customerManager.GetCustomers(); return customers.Select(i => new Customer { FullName = i.FullName, Birthday = i.Birthday, Score = i.Score, // Here, I've got more fields to fill IsVip = DetermineVip(i.Score) }).ToList(); In other words, I only want one or two fields of the list of the customers to be modified based on a condition, in my business method. I've got two ways to do this, Using for...each loop, to loop over customers and modify