LINQ使用

Posted pkyou

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LINQ使用相关的知识,希望对你有一定的参考价值。

基于扩展方法和lamda表达式

1. 查询序列中满足一定条件 Where扩展方法

public interface ISlotPortBinding
    {
        byte SlotNumber { get; set; }
        string PortName { get; set; } 
    }
private List<ISlotPortBinding> _slotPortBindings;
var firstBinding = _slotPortBindings.Where(x => x.SlotNumber <= 4).ToList();

2.序列属性赋值ForEach扩展方法

firstBinding.ForEach(x => x.PortName = “name”); 

 部分代码参考:

public void RefreshPortNames(string slot14Port, string slot58Port)
        {
            var firstBinding = _slotPortBindings.Where(x => x.SlotNumber <= 4).ToList();
            var secondBinding = _slotPortBindings.Where(x => x.SlotNumber >= 4).ToList();

            var slotPortBinding = firstBinding.FirstOrDefault();
            bool isFirstBindingChanged = slotPortBinding != null && slotPortBinding.PortName != slot14Port;
            
            var firstOrDefault = secondBinding.FirstOrDefault();
            bool isSecondBindingChanged = firstOrDefault != null && firstOrDefault.PortName != slot58Port;

            if (isFirstBindingChanged)
            {
                firstBinding.ForEach(x => x.PortName = slot14Port); 
            }
            if (isSecondBindingChanged)
            {
                secondBinding.ForEach(x => x.PortName = slot58Port);
            }
            if (isFirstBindingChanged || isSecondBindingChanged)
            {
                SlotNumberChangedEvent?.Invoke(_currentSlotPortBinding);
            }
            //刷新页面
        }

 

以上是关于LINQ使用的主要内容,如果未能解决你的问题,请参考以下文章

并行LINQ PLinq

ASP.NET MVC4.0+EF+LINQ+bui+网站+角色权限管理系统

C#图解教程 第十九章 LINQ

解决未能加载文件或程序集“Newtonsoft.Json ...."或它的某一个依赖项。找到的程序集清单定义与程序集引用不匹配。 (异常来自 HRESULT:0x80131040)(代码片段

活代码LINQ——07

使用 linq/Entity Framework 查询多对多关系。代码优先