C#
C#
Starzkg
你已经是一个成熟的程序猿了,要学会自己DEBUG了。
展开
-
C#——《C#语言程序设计》实验报告——综合练习——委托、Lambda表达式、LINQ、接口
问题描述使用委托、Lambda表达式、LINQ等知识完成以下内容:(本题35分)(1)要求定义Employee类,带有Name属性(string类型),带有Birthday属性(DateTime类型),带有Salary属性(double类型);重载ToString()方法,将信息以适当格式输出。[8分](2)定义一个委托如下 :delegate bool EmployeePredicate(Employee emp);写一个静态方法FindEmployee,根据filter参数在数组原创 2020-07-06 14:24:08 · 685 阅读 · 0 评论 -
C#——简单的计算器(仿Windows 10计算器)
问题描述运用WPF技术,模仿Windows 10系统中计算机器(Calculator)程序,开发一个类似程序。问题分析注:MS:记忆当前显示的数字(Memory Save) MC:清除记忆的数字(Memory Clean) MR:显示记忆的数字(Memory Recall) M-:记忆的数字减去当前数字,并保存 M+:记忆的数字加上当前数字,并保存解决方案创建WPF应用UI设计Metro风格来美化:https://www.cnblogs.co...原创 2020-06-15 17:45:07 · 3132 阅读 · 1 评论 -
C#——《C#语言程序设计》实验报告——Windows桌面编程——简单的计算器(仿Windows 10计算器)
一、实验目的熟悉使用WPF进行界面编程的基本过程; 掌握WPF布局、控件、事件的使用。二、实验内容运用WPF技术,模仿Windows 10系统中计算机器(Calculator)程序,开发一个类似程序。本题作为综合练习,可在最后提交。加分项:1)计算机器功能的完整性;2)是否使用了数据绑定、模板、样式等特性;3)功能上的创新。源代码运行结果三、实验心得与体会熟悉使用WPF进行界面编程的基本过程; 掌握WPF布局、控件、事件的使用。 ...原创 2020-06-14 20:10:00 · 2335 阅读 · 0 评论 -
C#——《C#语言程序设计》实验报告——泛型与集合——“画树”程序
一、实验目的掌握运算符重载。 掌握索引符的编写。 掌握常用非泛型集合类和集合类的使用; 掌握可空类型的使用二、实验内容改进“画树”的例子程序,画出不同风格的“树”来。原先的例子中,两棵子树的生长点都在(x1,y1),我们改进一下,将两棵子树的生长点不同,在(x1,y1)及(x2,y2)。程序中可以加上一些控件(如滚动条、文本框等),以方便用户修改角度(例子中是35及30度)、长度(例子中是per1,per2),这里又加了两子树的位置的系数(即点0至点2的长度是点0至点1的长度的多.原创 2020-06-12 23:08:18 · 993 阅读 · 0 评论 -
C#——《C#语言程序设计》实验报告——泛型与集合——运算符重载
一、实验目的掌握运算符重载。 掌握索引符的编写。 掌握常用非泛型集合类和集合类的使用; 掌握可空类型的使用二、实验内容(实验过程中编写的程序复制到本文件中,下课整理后上交)运算符重载复数包含实部和虚部,现要求生成一个复数类,包含:1)属性2)构造方法3)重载ToString方法4)重载两个运算符+和-5)编写索引器操作double this[int index],当index为0时,可读写实部;当index为1时,可读写虚部。5)编写静态方法static .原创 2020-06-12 22:58:11 · 1268 阅读 · 0 评论 -
C#——《C#语言程序设计》实验报告——继承与多态——电视和电灯委托
一、实验目的掌握C#中各种成员的写法; 掌握C#继承和多态概念; 掌握常用接口的使用方法。二、实验内容运用委托知识,完成以下程序:有下面两个类,代表电视和电灯,设计两个委托,在Program类的Main函数中,同时打开电视和电灯,再同时关闭它们。 class TV { public void on(int channel) { Console.WriteLine("电视已打开,在看" + channel + "频道"原创 2020-06-12 11:24:42 · 1191 阅读 · 0 评论 -
C#——《C#语言程序设计》实验报告——继承与多态——银行ATM程序
一、实验目的掌握C#中各种成员的写法; 掌握C#继承和多态概念; 掌握常用接口的使用方法。二、实验内容在银行ATM示例的基础上,利用面向对象的思想及语法,进行改进。要求如下:1)使用面向对象的思想,模拟现实世界中的银行、账号、ATM等对象,其中类中有字段、方法;2)在程序中适当的地方,使用属性、索引,注意使用修饰符;3)使用继承,继承账号(Account类)得到一个子类(如信用账号),增加字段(如信用额度)、属性、方法,覆盖(overrid)一些方法(如WithdrawMoney)。原创 2020-06-12 11:20:51 · 1825 阅读 · 0 评论 -
C#——《C#语言程序设计》实验报告——面向对象程序设计——字符串加密
一、实验目的掌握Visual Studio(C#编程界面)和调试的基本方法; 掌握C#类型系统; 掌握C#控制语句用法; 掌握数组的用法;二、实验内容1)在程序主方法中,由用户依次输入一个字符串text,以及一个加密字符key,其中变量key保存为int类型。(提示:加密字符通过Console.ReadKey().KeyChar输入)2)进行字符串加密。此处采用的加密方法是:将密钥字符与字符串中的每个字符进行异或运算。如’a’与’l’异或结果为字符’P’。编译运行程序,查看字符串原创 2020-06-12 11:12:18 · 1638 阅读 · 0 评论 -
C#——《C#语言程序设计》实验报告——面向对象程序设计——自动出题判分小程序
一、实验目的掌握Visual Studio(C#编程界面)和调试的基本方法; 掌握C#类型系统; 掌握C#控制语句用法; 掌握数组的用法;二、实验内容编写一个Windows程序,实现自动出题并判分的功能。功能要求:能使用Random类随机出加减法的题目 能使用if/switch进行答案的判断 能使用事件处理,当用户答案填正确时,界面上有反馈(如文本框背景颜色的改变) 能使用Timer控件,自动发出事件,如自动出题 其他扩充功能(选做),如难题的判断,得分的计算等等。 界面可以原创 2020-06-12 10:53:47 · 2713 阅读 · 2 评论 -
C#——《C#语言程序设计》实验报告——数据库编程——基于ADO.NET技术和WPF技术的简单数据库可视化工具DEMO
一、实验目的掌握ADO .NET数据离线与在线访问模型; 掌握应用LINQ进行数据查询; 继续应用WPF技术进行界面编程。二、实验内容使用提供的Northwind.mdb数据库,利用DataGrid控件进行数据库查询与更新:1、新建WPF工程与窗口。2、添加“选择查询条件”标签,再加一个ComboBox,设置其元素包含“客户”表的主要字段名(公司名称、联系人姓名、城市)。3、添加“设置查询值”标签,再加一个Combobox,供输入查询用的值;添加“开始查询”按钮;添加一个Dat原创 2020-05-29 23:15:57 · 1468 阅读 · 0 评论 -
C#——《C#语言程序设计》实验报告——数据库编程——基于ADO.NET技术的数据库操作DEMO
一、实验目的掌握ADO .NET数据离线与在线访问模型; 掌握应用LINQ进行数据查询;二、实验内容基于ADO.NET技术进行数据操作已提供一个控制台程序的框架。附件中提供了各种格式的Northwind数据库。参考案例程序,连接上数据库,进行各种操作,补全该程序。一些可用的SQL语句:select * from 客户 where 城市='南京'//找到所有位于南京的客户select count(*) from 客户 where 城市='南京'//统计南京客户的数量updat原创 2020-05-29 23:06:32 · 1900 阅读 · 0 评论 -
C#——《C#语言程序设计》实验报告——Windows桌面编程&文件与流——简易记事本
一、实验目的掌握文件类的使用; 掌握文件流的操作; 掌握二进制数据、文本数据的读写; 继续应用WPF技术进行界面编程。二、实验内容写一个记事本程序:(1)设计界面,向窗体添加下拉式菜单、多格式文本框(RichTextBox)。(2)依次为“文件”下的“新建”、“打开”、“保存”菜单项的Click事件添加事件处理函数。可以使用路由命令。(3)添加“格式”工具栏,可以设置所有文字的粗体、斜体、大小、颜色等样式。(4)实现文本文件的打开、编辑和保存功能;提示1、窗口可用Do原创 2020-05-22 19:10:23 · 1747 阅读 · 0 评论 -
C#——WPF的菜单栏、工具栏、状态栏DEMO
源代码<Window x:Class="Homework11.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008".原创 2020-05-22 16:46:02 · 2092 阅读 · 0 评论 -
C#——《C#语言程序设计》实验报告——Windows桌面编程
一、实验目的熟悉使用WPF进行界面编程的基本过程; 掌握WPF布局、控件、事件的使用。二、实验内容使用WPF技术,进行合理布局,设计一个窗体应用程序,完成一些常用度量单位的转换,基本模板如下图:对于本实验,属于一个小型的界面,主要设计过程包括:(1)新建WPF工程。(2)选择内容布局控件。以Grid控件为主,在其中内嵌其它布局控件。并为布局控件设置一些重要的属性,如行数与列数,平均分配还是比例分配等。操作方式,主要通过拖放控件,再辅以少量XAML编辑。(3)选择各类控件,.原创 2020-05-16 12:38:12 · 2828 阅读 · 0 评论 -
C#——文件处理和字符串处理DEMO
问题描述已有Racer类和冠军车手数据。已有程序,把所有的车手信息写入一个个文件中。请编写程序,读入这些文件,记录年份和当年冠军车手姓名,存入SortedDictionary<int, string>(该类与Dictionary用法类似,但会按键进行排序;Dictionary用法在4月10日讲过),按年代先后顺序输出。提示:用好string类的IndexOf, Split, SubString等方法,提取信息保存车手信息的程序如下: IList原创 2020-05-13 12:19:21 · 474 阅读 · 0 评论 -
C#——LINQ技术DEMO
基本概念LINQ(Language Integrated Query):LINQ(Language Integrated Query)语言集成查询是一组用于c#和Visual Basic语言的扩展。它允许编写C#或者Visual Basic代码以操作内存数据的方式,查询数据库。问题描述已有Racer类和冠军车手数据,进行以下查询,并打印结果:1)查询来自英国(UK)的所有世...原创 2020-04-25 13:50:36 · 672 阅读 · 0 评论 -
C#——扩展.NET Framework基本类型的功能DEMO
问题描述编写一个静态类MyExtensions,扩展.NETFramework基本类型的功能。1)定义一个扩展方法IsPalindrome,方法定义为:publicstaticboolIsPalindrome(thisstringstr)它扩展string类的功能,用于判断字符串是否为回文(指顺读和倒读内容都一样的文本)。2)定义一个扩展方法ReverseD...原创 2020-04-25 12:36:52 · 616 阅读 · 0 评论 -
C#——Lambda表达式与泛型委托DEMO
问题描述按要求编写Lambda表达式:.NET已定义的Func<outTResult>是一个泛型委托,它封装一个方法,该方法不具有参数,且返回由TResult参数指定的类型的值。它的基本用法是:Func<int>f1=()=>DateTime.Now.Year;//Lambda表达式无参数,返回int值,符合委...原创 2020-04-18 10:33:43 · 708 阅读 · 0 评论 -
C#——自定义泛型链表DEMO
问题描述已定义如下一个泛型类和泛型接口,请创建一个泛型的MyLinkedList类,表示一个单向链表,满足指定接口和功能。1)泛型类,代表链表中的节点 public class Node<T>{ public T Value { get; set; } public Node<T> Next { get; set; } pu...原创 2020-04-10 14:29:51 · 631 阅读 · 0 评论 -
C#——实现IComparable<T> 接口,ArrayLIst调用ArrayLIst.Sort()抛出System.InvalidOperationException异常解决方案
问题描述未经处理的异常: System.InvalidOperationException: 未能比较数组中的两个元素。 ---> System.ArgumentException: 必须至少有 一个对象实现 IComparable。 在 System.Collections.Comparer.Compare(Object a, Object b) 在 System.Ar...原创 2020-04-03 15:15:03 · 1579 阅读 · 0 评论 -
C#——Ellipse(椭圆)类[继承Circle(圆)类][实现IComparable接口、IComparerr<T>接口]DEMO
问题描述定义一个Circle类,其功能有:1)两个double类型属性X和Y,可读写圆心坐标2)一个double类型属性Radius,可读写圆的半径3)一个构造方法,以指定的x,y,radius来构造4)一个只读属性Area,获取圆面积5)一个只读属性Perimeter,获取圆周长6)一个方法boolContains(doublex,doubley),如果指定...原创 2020-04-03 14:39:55 · 1984 阅读 · 0 评论 -
C#——实现IComparable接口、IComparable<T> 接口、IComparer接口、IComparer<T> 接口和Comparer<T> 类DEMO
官方文档IComparable 接口:https://docs.microsoft.com/zh-cn/dotnet/api/system.icomparable?view=netframework-4.8IComparable<T> 接口:https://docs.microsoft.com/zh-cn/dotnet/api/system.icomparable-1?vie...原创 2020-04-03 14:30:54 · 524 阅读 · 0 评论 -
C#——继承[模拟Server类]初始化过程顺序DMEO
问题描述模拟一个服务类,Server类实现了服务器的创建逻辑,子类只要在生成实例对象时传递一个端口号即可创建一个监听该端口的服务,该代码意图如下:(1)通过SimpleServer的构造函数接收端口参数。(2)子类的构造函数默认调用父类的构造函数。(3)父类的构造函数调用子类的getPort方法获得端口号。(4)父类构造函数建立端口监听机制(以Console.WriteLin...原创 2020-03-29 13:31:02 · 506 阅读 · 0 评论 -
C#——Ellipse(椭圆)类[继承Ellipse(椭圆)类重构Circle(圆)类]
问题描述定义一个Circle类,其功能有:1)两个double类型属性X和Y,可读写圆心坐标2)一个double类型属性Radius,可读写圆的半径3)一个构造方法,以指定的x,y,radius来构造4)一个只读属性Area,获取圆面积5)一个只读属性Perimeter,获取圆周长6)一个方法boolContains(doublex,doubley),如果指定...原创 2020-03-29 12:52:59 · 3185 阅读 · 1 评论 -
C#——银行ATM程序DEMO
问题描述1.使用面向对象的思想,模拟现实世界中的银行、账号、ATM等对象,其中类中有字段、方法;2.在程序中适当的地方,使用属性、索引,注意使用修饰符;3.使用继承,继承账号(Account类)得到一个子类(如信用账号),增加字段(如信用额度)、属性、方法,覆盖(overrid)一些方法(如WithdrawMoney)。4.根据程序的需要(可选做),使用C#的其他语法成分...原创 2020-03-22 11:40:16 · 2456 阅读 · 0 评论 -
C#——事件(Event)DEMO[闻鸡起舞]
问题描述(1)创建C#控制台应用程序。(2)在程序中新建一个表示太阳的类Sun,在其中定义一个事件OnRise,一个成员方法Rise,并在方法中引发事件。参考源代码如下(太阳只有一个,所以将其定义为静态类):publicstaticclassSun{publicstaticeventEventHandlerOnRise;publ...原创 2020-03-22 10:45:27 · 733 阅读 · 0 评论 -
C#——委托(delegate)DEMO
源代码using System;using System.Collections.Generic;namespace Homework2{ class Delegates { //创建委托类型 public delegate bool NumberPredicate(int number); static void Ma...原创 2020-03-22 10:00:39 · 592 阅读 · 0 评论 -
C#——Circle(圆)类
问题描述定义一个Circle类,其功能有:-两个double类型属性X和Y,可读写圆心坐标-一个double类型属性Radius,可读写圆的半径-一个构造方法,以指定的x,y,radius来构造-一个只读属性Area,获取圆面积-一个只读属性Perimeter,获取圆周长-一个方法boolContains(doublex,doubley),如果指定的点(x,...原创 2020-03-15 16:09:00 · 5259 阅读 · 0 评论 -
C#——判断数列是否排序
问题描述由用户输入一列整数,以空格分隔,写一个程序来判断该数列是否已经按降序排列,输出判断结果。运行示例如下:输入数列:101516619111该数列未排序输入数列:211197544311该数列已排序解决方案using System;namespace HomeWork1{ class Program ...原创 2020-03-09 10:50:19 · 1189 阅读 · 0 评论 -
C#——汉字打印
问题描述将字符’我‘及之后的100个汉字打印出来,每个字以制表符'\t'间隔,每行10字。运行结果示例如下:我戒戓戔戕或戗战戙戚戛戜戝戞戟戠戡戢戣戤戥...原创 2020-03-09 10:37:33 · 996 阅读 · 0 评论