【c#-在LINQ JOIN中添加第二个条件】教程文章相关的互联网学习教程文章

c# – 如何在Linq中使用Sum()?【代码】

如何将此语句转换为LINQ?SELECT Sum(Balance) FROM account WHERE name='stocks' AND userid=290;解决方法: decimal sumLineTotal = (from od in accountwhere name == 'stocks' && userid == 290select Balance).Sum();

c# – 如何使用linq过滤和求和【代码】

什么是最好的LINQ方法,没有性能损失?我们怎样才能使用LINQ迭代列表一次呢?class Employee { string name ...; string age .....; int empType ...; int income ...; } List<Employee> myList ...; List<Employee> toList...; int totalIncomeOfToList = 0; foreach(Employee emp in myList) { if(emp.empType == 1) { toList.Add(emp); totalIncomeOfToList += emp.income; } } 解决方法:(我假设你也想要...

c# – CLR如何解释以下LINQ查询【代码】

我有2个obj1和obj2列表var list1 = new List<obj1>(); var list2 = new List<obj2>();obj1和obj2共享一个名为name的字符串属性,我需要通过list2中可用的name属性值过滤list1,所以我做了以下操作var filteredlist = list1.Where(o => list2.Select(o2 => o2.name).Distinct().Contains(o.name));以上Linq查询等于以下?var distinctNames = list2.Select(o2 => o2.name).Distinct();var filteredlist = list1.Where(o => distinctNa...

c# – LINQ是否允许简化这种结构?【代码】

我有一个列表List< string> MyValues = new List< string> {}; .在我的程序中,我需要硬编码以下内容:MyValues.Add(MyFunc(1)); MyValues.Add(MyFunc(2)); ... MyValues.Add(MyFunc(20));当然,我可以在for循环中完成它.但我想应该有一个LINQ结构允许用一个简单的结构填充一个列表代替这个循环. 任何人都可以建议这样的LINQ结构填满我的名单吗? 非常感谢!解决方法:您可以使用Enumerable.Range简化此操作:List<string> myValues =...

c# – 如何动态地构造/更改LINQ语句的一部分【代码】

我的应用程序中有一个方法,需要根据一组标准读取,过滤和提供数据.我正在尝试使用LINQ来完成此任务:var pipelineData = from data in new XPQuery<AccountView3.PipelineData>(uow)where data.Stage.ToLower().Contains("won")&& data.RevenueStartDate.Value.Year == DateTime.Today.Year&& data.WeekOfTheYear >= priorWeekCutoff&& (!string.IsNullOrEmpty(data.PlatformTcv) && data.PlatformTcv != "#N/A")select data; 就其本...

c# – 比较linq中的日期【代码】

我想查询数据库中日期大于或等于给定日期的项目. db中的日期是日期时间并记录时间. 如果用户输入搜索字符串“1/30/2014”,则他们希望返回在该日期的任何时间发生的条目.但是,任何在上午12点之后有时间的东西都不会被退回. 我知道我可以简单地在搜索字符串中添加一天,但是有更合适的方法吗?if (form["closedend"] != "") {DateTime d = DateTime.Parse(form["closedend"]);traces = traces.Where(s => s.date_Closed >= d); }解决方...

c# – Linq错误:“string []不包含’Except’的定义.”【代码】

这是我的代码:public static string[] SplitKeepSeparators(this string source, char[] keptSeparators, char[] disposableSeparators = null){if (disposableSeparators == null){disposableSeparators = new char[] { };}string separatorsString = string.Join("", keptSeparators.Concat(disposableSeparators));string[] substrings = Regex.Split(source, @"(?<=[" + separatorsString + "])");return substrings.Except(d...

c# – Linq之间的表现【代码】

我正在使用Entity Framework,我想知道以下代码之间是否有任何区别.第一个和第二个代码似乎通过Entidad.Nombre ==“Empresa”获取所有项目,最后一个代码似乎只获得Entidad.Nombre ==“Empresa”的项目.我错了吗?什么是更好的?var listFields = from b in unitOfWork.PropiedadRepository.Get()where b.Entidad.Nombre == "Empresa"select b; var listFields2 = unitOfWork.PropiedadRepository.Get().Where(x => x.Entidad.Nombre...

反向查询C#LINQ中的List【代码】

List<List<double>> Return(List<double> vector, int Z, int firstidx) { return vector.Reverse().Skip(firstidx).Take(Z).Select(i => vector.Reverse().Select(j => j != 0? i / j : 0.0).ToList()).ToList(); }我想反向查询List但是.Reverse()中有一些错误,它说:Operator ‘.’ cannot be applied oprand of type ‘void’`. 即使我创建了一个中间变量列表与LT;双&GT Reversevector = vector.Reverse().ToList();...

.net – 是否有类似于linq的python枚举的东西【代码】

在python中,我可以在迭代时轻松获得索引,例如>>> letters = ['a', 'b', 'c'] >>> [(char, i) for i, char in enumerate(letters)] [('a', 0), ('b', 1), ('c', 2)]我怎么能用linq做类似的事情?解决方法:当然.有一个overload of Enumerable.Select采用Func< TSource,int,TResult>将元素与其索引一起投影: 例如:char[] letters = new[] { 'a', 'b', 'c' }; var enumerate = letters.Select((c, i) => new { Char = c, Index = i }...

C#:如何从LINQ的IDictionary>集合中删除项目?【代码】

这是我想要做的:private readonly IDictionary<float, ICollection<IGameObjectController>> layers;foreach (ICollection<IGameObjectController> layerSet in layers.Values){foreach (IGameObjectController controller in layerSet){if (controller.Model.DefinedInVariant){layerSet.Remove(controller);}}}当然,这不起作用,因为它会导致并发修改异常. (在某些迭代器上是否有相当于Java的安全删除操作?)如何正确地执行此操作...

c# – 告诉LINQ区分要返回的项目【代码】

我理解如何在IEnumerable上做一个Distinct()并且我必须为更高级的东西创建一个IEqualityComparer,但是有没有一种方法可以告诉哪个重复的项目要返回? 例如,假设你有一个List< T>List<MyClass> test = new List<MyClass>(); test.Add(new MyClass {ID = 1, InnerID = 4}); test.Add(new MyClass {ID = 2, InnerID = 4}); test.Add(new MyClass {ID = 3, InnerID = 14}); test.Add(new MyClass {ID = 4, InnerID = 14});然后你做:va...

c# – LINQ to Object比较两个不同值的整数列表【代码】

I accept both C# and VB.NET suggestion, even though I’m writing an app in VB.NET我有两个整数列表 >清单1 {1,2,3,5}> List2 {2,4,6,7} 我想要新的List3 {4,6,7},它由List2中不在List1中的元素组成.我知道我可以为此编写一个很好的For Each循环,但我想在LINQ中完成它我一直在Enumerable Methods寻找这样的方法,但我找不到它. LINQ有什么办法吗?解决方法: List2.Except(List1)

c# – 从集合中收集数据时,我应该使用简单的foreach或Linq吗?【代码】

对于一个简单的例子,其中类foo有一个成员i,并且我有一组foos,比如IEnumerable< Foo> foos,我想最终得到foo的成员i的集合,比如List< TypeOfi>结果. 问题:是否最好使用foreach(下面的选项1)或某种形式的Linq(下面的选项2)或其他方法.或者,或许,它甚至不值得我自己(仅选择我个人的偏好). 选项1:foreach (Foo foo in foos)result.Add(foo.i);选项2:result.AddRange(foos.Select(foo => foo.i));对我来说,选项2看起来更干净,但我想知...

c# – 使用linq选择匿名委托【代码】

我知道有办法做到这一点,但我一直在撞墙试图解决这个问题.这很好用:private GenericRecord CreateGeneric(GenericRecord g, Member m) {g.Member = m;return g; }public IList<GenericRecord> ReportFromDatabase(DateTime startDate, DateTime endDate) {List<GenericRecord> returnRecords = new List<GenericRecord>();returnRecords.AddRange(from r in pjRepository.Recordsjoin m in memberRepository.Members on r.SID equ...