码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • C# 中,使用 LINQ 示例 备忘


    语言集成查询 (LINQ) 是一系列直接将查询功能集成到 C# 语言的技术统称。 数据查询历来都表示为简单的字符串,没有编译时类型检查或 IntelliSense 支持。 此外, …
    对于编写查询的开发者来说,LINQ 最明显的“语言集成”部分就是查询表达式。

    通常一副扑克牌包含四种花色,每种
    花色包含 13 个值。 通常情况下,你可能会立即考虑创建一个 Card 类,然后手动填充一组 Card 对象。 相对于
    通常的方式,使用 LINQ 创建一副扑克牌更加简捷。 可以创建两个序列来分别表示花色和点数,而非创建 Card
    类。

    
    
    var pairPoker = Enum.GetValues<Suit>().SelectMany(s => Enum.GetValues<PokerValue>().Select(p => new PokerCard(p, s))).ToArray();
    
    var originalJson = pairPoker.DumpJson();
    Console.WriteLine(originalJson);
    //One Half Poker
    var halfIndex = pairPoker.Length / 2;
    var firstPairPoker = pairPoker[..halfIndex];
    var SecondPairPoker = pairPoker[halfIndex..];
    
    //shuffle
    var shufflePoker = DoShuffle(firstPairPoker, SecondPairPoker).ToArray();
    var shufflePokerJson = shufflePoker.DumpJson();
    Console.WriteLine(shufflePokerJson);
    Console.WriteLine(shufflePoker == pairPoker);
    Console.ReadKey();
    
    
    IEnumerable<PokerCard> DoShuffle(PokerCard[] one, PokerCard[] two)
    {
        var first = one.GetEnumerator();
        var second = two.GetEnumerator();
        while (first.MoveNext() && second.MoveNext())
        {
            yield return (PokerCard)first.Current;
            yield return (PokerCard)second.Current;
        }
    }
    
    enum Suit
    {
        /// 
        /// 红桃
        /// 
        Hearts,
    
        /// 
        /// 方块
        /// 
        Diamonds,
    
        /// 
        /// 黑桃
        /// 
        Spades,
    
        /// 
        /// 梅花
        /// 
        Clubs,
    }
    
    enum PokerValue
    {
        Two,
        Three,
        Four,
        Five,
        Sex,
        Seven,
        Eight,
        Nine,
        Ten,
        J,
        Q,
        K,
        A,
    }
    
    record PokerCard(PokerValue Value, Suit Suit);
    
  • 相关阅读:
    软考高项-配置管理
    高压直流输电(HVDC)的最优潮流(OPF)(Matlab代码实现)
    【推荐系统】多任务学习模型
    【web课程设计网页规划与设计】基于HTML+CSS+JavaScript火车票网上预订系统网站(4个页面)
    Outside ExpertPDF HtmlToPdf 转换器 17.0
    DOM——文件对象模型(元素位置、盒子模型)
    CSS3-flex布局 | 弹性盒模型
    java基础详解1----package引入&CLASSPATH
    C++设计模式---策略模式
    上市企业管理层短视,新的视角,整理好的面板数据,stata或excel版本
  • 原文地址:https://blog.csdn.net/weixin_43542114/article/details/140357327
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号