C#——完善例6-4的泛型类Data<T>,扩展并实现以下功能:针对任意个字符型、整型、浮点型或双精度型数据能进行排序和汇总,也能求出最大数、中位数、最小数和平均值。

例6-4,设计一个泛型类,实现任意类型的数据排序

8.完善例6-4的泛型类Data<T>,扩展并实现以下功能:针对任意个字符型、整型、浮点型或双精度型数据能进行排序和汇总,也能求出最大数、中位数、最小数和平均值。

设计界面:一个Label标签

编写代码:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace 泛型类
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            label1.Text = "";
            Data<int> a = new Data<int> (3, 5, 2, 8, 7, 6 );  //1整型(排序、汇总、最大数、中位数、最小数 、平均值)
            a.sort();
            label1.Text = "(一)整型:\n\n排序:" + a.display() + "\n汇总:" + a.getSum()+" \n最大值:"
                +a.getMax()+"\n最小值:"+a.getMin()+"\n平均值:"+a.getAvg()+"\n中位数:"+a.getCenter();
            Data<float> b = new Data<float>(3.5f, 7.5f, 2.1f, 9.9f, 5.4f, 6.8f);//2浮点型
        &

1. 基本语法与结构 命名空间(namespace):用于组织代码,避免命名冲突。 示:using System; 类与对象:C# 是面向对象语言,基本单元是类(class),通过 new 创建对象。 主方法(Main 方法):程序入口点,格式为 static void Main(string[] args)。 2. 数据 值类:包括整型(int)、浮点型(float, double)、布尔(bool)、字符(char)等。 引用类:如字符串(string)、组、类实等。 可空类:使用 ? 表示可为空的值类,如 int?。 3. 变量与常量 变量声明:int age = 25; 常量定义:使用 const 关键字,如 const double PI = 3.14159; 4. 运算符 算术运算符:+, -, *, /, % 比较运算符:==, !=, <, >, <=, >= 逻辑运算符:&&, ||, ! 赋值运算符:=, +=, -=, 等 5. 控制流程 条件语句:if, else if, else, switch 循环结构:for, while, do-while, foreach 跳转语句:break, continue, return, goto 6. 组与集合 组:固定大小,类相同元素的集合,如 int[] nums = new int[5]; 集合类:位于 System.Collections.Generic,如 List<T>, Dictionary<TKey, TValue> 7. 方法(函) 定义格式:访问修饰符 返回类 方法名(参列表) { 方法体 } 支持方法重载(同名不同参) 8. 面向对象编程(OOP) 封装:通过访问修饰符(public, private, protected)控制成员访问。 继承:使用 : 实现类继承,如 class Dog : Animal 多态:虚方法(virtual)与重写(override)实现运行时多态。 构造函:初始化对象,可以有多个重载构造函。 9. 异常处理 使用 try-catch-finally 结构捕获处理异常。 常见异常类:NullReferenceException, IndexOutOfRangeException 等。 10. 字符串操作 string 类不可变,常用方法:Substring(), Replace(), Split(), Trim() 等。 字符串插值:$"Hello, {name}!" 11. 文件与IO操作 使用 System.IO 命名空间进行文件读写,如 File.ReadAllText(), StreamWriter。 12. 委托与事件 委托(Delegate):类安全的函指针,用于回调机制。 事件(Event):基于委托的发布-订阅模式,常用于GUI编程。 13. LINQ(Language Integrated Query) 查询语法:from x in collection where x > 5 select x 方法语法:collection.Where(x => x > 5).Select(x => x) 14. 属性与索引器 属性(Property):提供字段的封装,包含 get set 访问器。 自动属性:public string Name { get; set; } 索引器:允许对象像组一样通过索引访问。 15. 泛 提高代码复用性安全性,如 List<T>, Dictionary<TKey, TValue> 自定义泛型类方法:class MyGeneric<T> { } 知识点 面向对象编程:封装、继承、多态三大特性,提升代码复用与维护性。 值类与引用类区别:值类存储在栈,引用类在堆,影响内存管理。 委托与事件机制:实现松耦合设计,支持异步与回调编程模。 把这些方面的知识深挖
最新发布
11-23
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值