美文网首页小白学步
Linq语句初接触

Linq语句初接触

作者: 爱喝粥的西瓜 | 来源:发表于2021-08-20 17:25 被阅读0次

在unity中简单的使用Linq语句

using System.Collections;
using System.Collections.Generic;
using System.Linq;
using UnityEngine;


public struct UserInfo
{
    public string name;
    public string id;
    public int wage;


    public UserInfo(string _name,string _id,int _index)
    {
        name = _name;
        id = _id;
        wage = _index;
    }
}

public class LinqTest : MonoBehaviour
{
    List<UserInfo> userList = new List<UserInfo>();

    // Start is called before the first frame update
    void Start()
    {
        UserInfo info = new UserInfo("张三五", "1",0);
        userList.Add(info);

        info = new UserInfo("李四六", "456",3);
        userList.Add(info);

        info = new UserInfo("王五", "23",1);
        userList.Add(info);

        info = new UserInfo("赵六", "7890",2);
        userList.Add(info);
    }

    // Update is called once per frame
    void Update()
    {
        if(Input.GetKeyDown(KeyCode.Alpha0))
        {
            Debug.Log("名字包含关键字==============================================================");
            UserInfo[] info = (from item in userList where item.name.Contains("五") select item).ToArray();
            AllUserInfo(new List<UserInfo>(info));
        }

        if (Input.GetKeyDown(KeyCode.Alpha1))
        {
            Debug.Log("ID查询==============================================================");
            UserInfo[] info = (from item in userList where item.id == "1" select item).ToArray();
            AllUserInfo(new List<UserInfo>(info));
        }

        if (Input.GetKeyDown(KeyCode.Alpha2))
        {
            Debug.Log("跳过前两个元素==============================================================");
            UserInfo[] info = (from item in userList select item).Skip(2).ToArray();
            AllUserInfo(new List<UserInfo>(info));
        }

        if (Input.GetKeyDown(KeyCode.Alpha3))
        {
            Debug.Log("倒排序==============================================================");
            UserInfo[] info = (from item in userList  orderby item.id.Length descending select item).ToArray();
            AllUserInfo(new List<UserInfo>(info));
        }

        if (Input.GetKeyDown(KeyCode.Alpha4))
        {
            Debug.Log("正排序==============================================================");
            UserInfo[] info = (from item in userList orderby item.id.Length ascending select item).ToArray();
            AllUserInfo(new List<UserInfo>(info));
        }

        if (Input.GetKeyDown(KeyCode.Alpha5))
        {
            Debug.Log("选取指定个数元素==============================================================");
            UserInfo[] info = (from item in userList select item).Take(3).ToArray();
            AllUserInfo(new List<UserInfo>(info));
        }

        if (Input.GetKeyDown(KeyCode.Alpha6))
        {
            Debug.Log("分组==============================================================");
            var info = (from item in userList group item by item.id.Length > 2 into g select g).ToArray();
            foreach(var g in info)
            {
                Debug.Log($"Key:{g.Key}");
                foreach(var iteam in g)
                {
                    Debug.Log($"name:{iteam.name},ID:{iteam.id},Index:{iteam.wage}");
                    
                }
            }
        }

        if (Input.GetKeyDown(KeyCode.Alpha7))
        {
            Debug.Log("选择第一个==============================================================");
            UserInfo info = (from item in userList select item).FirstOrDefault();
            Debug.Log($"name:{info.name},ID:{info.id},Index:{info.wage}");
        }

        if (Input.GetKeyDown(KeyCode.Alpha8))
        {
            Debug.Log("简单计算==============================================================");
            int info = (from item in userList select item).Sum(x=>x.wage);
            Debug.Log($"Sum方法计算所有人工资总和:{info}");

            info = (from item in userList select item).Count();
            Debug.Log($"Count方法计算工人数:{info}");

            info = (from item in userList select item).Max(x=>x.wage);
            Debug.Log($"Max方法获取最高工资:{info}");

            info = (from item in userList select item).Min(x => x.wage);
            Debug.Log($"Min方法获取最低工资:{info}");
        }
    }

    void AllUserInfo(List<UserInfo> list)
    {
        foreach(UserInfo user in list)
        {
            Debug.Log($"name:{user.name},ID:{user.id},Index:{user.wage}");
        }
    }
}

相关文章

  • Linq语句初接触

    在unity中简单的使用Linq语句

  • Language Integrated Query(LINQ,语

    第一次接触到Linq很开心 Linq 有两种写法,一种是 语句,另一种是^表达式 linq用来遍历集合很方便,和f...

  • LINQ语句

    //查询表达式概述//1.查询表达式用于查询并转换所有启用LINQ的数据源的数据。例如:通过一个查询即可检索sql...

  • linq语句

    https://www.yiibai.com/linq/linq_filtering_operators.html...

  • Linq语句

    var result = students.Where(x => x.Sex.Equals("男") && x.A...

  • C#日记——强大的查询LINQ

    LINQ——语言集成查询(Language Integrated Query),是一个用来查询数据的语句,不仅可以...

  • LINQ

    什么是linq? linq是语言集成查询。 linq主要包含三部分 linq to xml linq to obj...

  • 初接触

    one two there -i 没有什么能够阻挡,你对自由的向往,天马行空的生涯,你的心了无牵挂!穿过幽暗的岁月...

  • Linq用法笔记

    一、什么是Linq? LINQ即Language Integrated Query(语言集成查询),LINQ是集成...

  • Lession12-LINQ

    LINQ简介 编写一个扩展方法 LINQ查询方法 LINQ查询的延迟加载 Linq标准查询操作符 LinqToXML

网友评论

    本文标题:Linq语句初接触

    本文链接:https://www.haomeiwen.com/subject/fewtiltx.html