C#练习题
Unity黑马王子
第十八届全国大学生智能汽车大赛,安徽赛区摄像头一等奖(第三名)第十九届完全模型组二等奖,参与专业专利两个
CN202211475744.X,CN202310368041.5,大学生创新创业省级奖项两项,全国计算机等级考试三级
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
C#游戏项目——飞行棋(附项目源码)
本项目是一个基于C#控制台开发的飞行棋游戏,采用场景管理模式分为开始、游戏和结束三个场景。游戏支持双人对战(玩家vs电脑),包含80个随机生成的格子(普通、炸弹、暂停和时空隧道四种类型),具有完善的游戏规则和特殊效果。通过面向对象编程实现模块化设计,包括地图系统、玩家系统和回合制游戏逻辑。控制台界面采用不同颜色区分玩家和格子类型,提供清晰的游戏状态提示。项目展示了C#游戏开发的核心技术,包括场景管理、对象设计、算法实现和用户交互,代码结构清晰完整,是一个典型的学习案例。原创 2025-09-24 13:33:19 · 1045 阅读 · 0 评论 -
C#练习题——多线程制作贪吃蛇的基本移动等操作
该程序实现了一个控制台贪食蛇游戏,使用多线程处理输入和渲染。主线程负责每500ms更新方块位置和绘制,后台线程检测WASD按键来改变移动方向。Icon类封装了方块的位置、方向及移动逻辑,其中左右移动2格以适配控制台字符比例。程序通过共享变量实现线程间通信,无需复杂同步机制。原创 2025-09-26 00:00:00 · 365 阅读 · 0 评论 -
C#练习题——List排序游戏道具系统排序算法详解
本文介绍了如何实现一个物品排序系统。通过定义一个Item类,包含类型、品质和名称属性,随机生成10个物品并存入List。核心是使用Lambda表达式实现多条件排序:优先按类型降序,其次按品质降序,最后按名称长度降序。代码展示了完整的排序过程,包括随机物品生成、自定义比较器的实现以及排序结果的输出。该方案适用于需要复杂排序规则的物品管理系统。原创 2025-09-24 00:00:00 · 274 阅读 · 1 评论 -
C#练习题——List排序与反转操作详解:怪物属性排序示例
这篇C#代码实现了一个怪物排序系统:1.定义Monster类包含攻击力、防御力、血量属性;2.随机生成10个怪物并存入List;3.提供4种排序方式:按攻击力/防御力/血量升序排列,以及列表反转;4.使用Lambda表达式实现比较逻辑;5.包含异常处理确保输入有效性。程序通过用户选择的排序类型对怪物列表进行相应排序并输出结果,展示了集合排序和异常处理的实际应用。原创 2025-09-25 00:00:00 · 284 阅读 · 0 评论 -
C#练习题——Lambad表达式的应用
文章讲解C#中委托和闭包的使用技巧。通过示例演示如何避免常见的闭包陷阱:在循环中创建局部变量副本(int index=i)来确保每个委托捕获独立的值,而非共享循环变量。同时展示了委托链的构建方式(Action a=null; a+=...)和执行方法(PrintNum()()的双括号语法),最终实现返回一个能正确打印1-10的委托函数。完整代码展示了在for循环中创建闭包的正确实现方式。原创 2025-09-25 00:00:00 · 262 阅读 · 0 评论 -
C#练习题——匿名方法与闭包实战:函数式编程的优雅实现
这篇文章介绍了一个C#闭包应用示例,实现了一个乘法器工厂函数。核心功能是:DealWith函数接收一个整数参数,返回一个Action委托,该委托会记住第一个参数并与后续传入的参数相乘。代码展示了闭包机制如何捕获外部变量num,即使外部函数执行完毕仍能保持其值。使用方法是通过DealWith(3)创建固定乘数3的乘法器,调用action(5)即可计算3×5。完整代码演示了这种闭包模式在实际应用中的实现方式。原创 2025-09-24 00:00:00 · 408 阅读 · 0 评论 -
C#练习——事件
本文设计了一个基于事件机制的热水器温度监控系统。系统包含加热器、报警器和显示器三个组件,当水温超过95度时触发事件通知。加热器类(Heater)作为事件发布者,通过Action<int>事件在温度达到阈值时触发;报警器(Alarm)和显示器(Display)作为订阅者,分别实现语音报警和状态提示功能。系统采用一次性事件通知机制,触发后自动清空订阅,确保只提示一次。核心设计包括温度监测、事件发布/订阅机制和阈值判断,使用C#实现了完整的温度监控流程。原创 2025-09-24 00:00:00 · 294 阅读 · 0 评论 -
C#练习题——委托练习
本文通过两个C#委托应用案例展示事件驱动编程。第一个案例模拟家庭用餐场景:母亲类作为事件发布者,通过Action委托通知家庭成员用餐;父亲和子女类作为订阅者实现Eat()方法。第二个案例模拟游戏系统:怪物死亡时通过Action<Monster>委托触发三个子系统(玩家金钱、界面显示、成就统计)的联动更新。两个案例均采用"发布-订阅"模式,核心实现包括:1)定义委托字段;2)使用+=注册方法;3)空值检查后触发事件。代码体现了委托在多播、类型安全、解耦等方面的优势,并遵循&qu原创 2025-09-23 00:00:00 · 393 阅读 · 0 评论 -
C#练习题——LinkedList 的进阶应用与测试
本文演示了如何使用C#的LinkedList实现随机数存储及双向遍历。首先创建链表并添加10个1-100的随机整数,然后通过First/Next属性正向遍历打印数值,再通过Last/Previous属性反向遍历打印。代码展示了链表动态存储的优势和双向遍历的实现方式,完整呈现了从创建、填充到遍历输出的整个过程。原创 2025-09-23 00:00:00 · 331 阅读 · 0 评论 -
C#练习题——双向链表的创建,添加和删除
本文介绍了双向链表的基本实现方法,主要包括节点结构定义和核心操作实现。双向链表节点包含数据域(data)、前驱指针(LastNode)和后继指针(nextNode)。核心功能包括:1)添加操作(Add):在链表尾部插入新节点,处理空链表和非空链表两种情况;2)删除操作(Remove):支持删除头节点、尾节点和中间节点三种情况,需要重新连接前后节点的指针;3)显示操作(Show):遍历链表输出所有元素。文中提供了完整的C#实现代码,并包含测试用例,展示了如何创建双向链表、添加元素、删除指定位置节点以及遍历显示原创 2025-09-22 00:00:00 · 715 阅读 · 0 评论 -
C#练习题——Dictionary
本文包含两个编程任务:1. 数字转中文大写功能:使用字典存储数字0-9的中文大写映射,通过整除和取模分离数字位数,根据位数不同采用条件分支处理,最终实现3位以内数字的转换。2. 字母统计功能:将字符串统一转为小写后,使用字典统计每个字母出现次数,通过检查字典键是否存在来更新计数,最后遍历输出结果。两个任务都充分利用了C#字典的特性,分别实现了数字转换和字符统计功能。原创 2025-09-22 00:00:00 · 600 阅读 · 0 评论 -
C#练习题——List
本文演示了两个C#编程任务。任务一创建整型列表,从10到1添加元素后删除第五个元素并遍历输出。任务二实现怪物管理系统,通过抽象类Monster和子类Boss/Gablin展示多态性,在构造函数中自动将实例添加到静态列表,并调用不同攻击方式。核心概念包括泛型集合、抽象类、多态性和静态成员,展示了面向对象编程的特性应用。完整代码提供了具体实现,包括列表操作、继承体系以及多态调用等关键技术点的实践示例。原创 2025-09-21 10:20:29 · 503 阅读 · 0 评论 -
C#练习题——泛型实现单例模式和增删改查
本文介绍了两个C#泛型编程任务:1) 使用泛型实现单例模式基类,通过约束类型参数T必须有无参构造函数,创建静态实例并提供全局访问点;2) 实现泛型动态数组类ArrayList<T>,包含增删查改功能,采用容量翻倍扩容策略,平均添加时间复杂度O(1)。核心代码展示了泛型单例继承、动态扩容机制、索引器实现等技术要点,两个任务均体现了泛型编程的类型安全优势。原创 2025-09-21 00:00:00 · 585 阅读 · 0 评论 -
C#练习题——泛型方法的使用
本文介绍了一个泛型方法实现类型识别与字节数统计的C#练习。方法定义WhatType<T>,通过typeof(T)比较判断类型,使用sizeof()获取值类型字节数,支持int(4字节)、char、float和string类型识别,其他类型返回"其他类型"。代码展示了泛型方法的设计优势、类型判断技术和sizeof操作符的使用要点,最后提供了完整的测试代码示例。该练习重点训练泛型编程、类型判断和基本数据类型处理能力。原创 2025-09-20 14:08:14 · 551 阅读 · 0 评论 -
C#练习题——基于Hashtable的增删查操作
本文介绍了使用哈希表实现怪物管理系统的设计。系统包含Monster类(含唯一ID和名称属性)和MonsterMgr管理器类,主要功能包括创建/删除怪物(通过ID快速操作)和四种遍历方式:按键遍历、按值遍历、键值对遍历(推荐)和迭代器遍历。其中键值对遍历方式最为高效实用,能同时获取ID和名称信息。文章提供了完整代码示例,演示了如何添加/删除怪物实例,并展示了不同遍历方法的输出效果。该系统设计合理,操作效率高,适合游戏开发中的怪物管理需求。原创 2025-09-20 11:48:08 · 449 阅读 · 0 评论 -
C#编程练习:使用队列存储消息,一次性存10条消息,每隔一段时间打印一条消息控制台打印消息时要有明显停顿感
C#练习——Queue队列原创 2025-09-20 09:50:45 · 253 阅读 · 0 评论 -
C# 编程练习:写一个方法计算任意一个数的二进制数使用栈结构方式存储,之后打印出来
C#练习题——Stack栈原创 2025-09-20 09:00:18 · 234 阅读 · 0 评论 -
C# 编程练习:ArrayList 背包管理类(完整实现物品购买、卖出、显示功能与金钱变化逻辑)
C#练习题——arraylist原创 2025-09-20 08:03:10 · 914 阅读 · 0 评论
分享