当前位置: 首页 > news >正文

C#高级语法_泛型

泛型的定义

泛型是一种程序特性,当我们使用泛型的时候,确切说定义的时候,是对这个类型不作出明确的规定。但是当我们使用的时候,必须明确规定,并且不能改变。

自定义泛型类测试

//自定义泛型类
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace ConsoleApp1
{internal class MyStack<T>{private T[] stack;private int size;private int stackPoint;public MyStack(int size){this.size = size;stack = new T[size];this.stackPoint = -1;}/// <summary>/// 入栈/// </summary>/// <param name="item"></param>/// public void Push(T item){if (stackPoint >= size - 1){Console.WriteLine("栈空间已满");}else{stackPoint++;stack[stackPoint] = item;}}public T Pop(){T temp = stack[stackPoint];stackPoint--;return temp;}}
}//测试类
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace ConsoleApp1
{internal class Program{static void Main(string[] args){TestMyStack();Console.ReadLine();}/// <summary>/// 测试出栈和入栈/// </summary>static void TestMyStack(){//创建泛型类的对象MyStack<int> stack1 = new MyStack<int>(5);//元素入栈stack1.Push(1);stack1.Push(2);stack1.Push(3);stack1.Push(4);stack1.Push(5);//元素出栈Console.WriteLine(stack1.Pop());Console.WriteLine(stack1.Pop());Console.WriteLine(stack1.Pop());Console.WriteLine(stack1.Pop());Console.WriteLine(stack1.Pop());MyStack<string> stack2 = new MyStack<string>(5);//元素入栈stack2.Push(".NET全栈课程25");stack2.Push(".NET全栈课程26");stack2.Push(".NET全栈课程27");stack2.Push(".NET全栈课程28");stack2.Push(".NET全栈课程29");//元素出栈Console.WriteLine(stack2.Pop());Console.WriteLine(stack2.Pop());Console.WriteLine(stack2.Pop());Console.WriteLine(stack2.Pop());Console.WriteLine(stack2.Pop()); }}
}
http://www.dtcms.com/a/326073.html

相关文章:

  • ClickHouse列式数据库的使用场景与基本优化手段
  • Jmeter使用第二节-接口测试(Mac版)
  • ​费马小定理​
  • jmeter 设置随机数
  • 爬虫与数据分析结合:中国大学排名案例学习报告
  • 【FAQ】Win11创建资源不足绕开微软账号登录
  • 在macOS上扫描192.168.1.0/24子网的所有IP地址
  • 深度学习和神经网络最基础的mlp,从最基础的开始讲
  • Springboot-vue 地图展现
  • 深度学习——01 深度学习简介
  • 《 AudioClassification-Pytorch:GitHub项目网页解读》
  • [4.2-2] NCCL新版本的register如何实现的?
  • 剧本杀小程序系统开发:推动行业数字化转型新动力
  • 数据上云有什么好处?企业数据如何上云?
  • vue3-pinia
  • mysql慢查询sql
  • 分裂的王国——进程间通信
  • GeoScene 空间大数据产品使用入门(1)应用场景与基本流程
  • 【接口自动化】-7- 热加载和日志封装
  • .NET Core MVC中CSHTML
  • 【测试】BDD与TDD在软件测试中的对比?
  • AI蛋白质设计学习主线
  • 【智能的起源】人类如何模仿,简单的“刺激-反应”机制 智能的核心不是记忆,而是发现规律并能迁移到新场景。 最原始的智能:没有思考,只有简单条件反射
  • 首涂模板第45套主题2.0修正版苹果CMS模板奇艺主题二开源码
  • 解决 VS Code 右键菜单丢失问题
  • calamine读取xlsx文件的方法比较
  • Spring Boot 2.0 升级至 3.5 JDK 1.8 升级至 17 全面指南
  • 计算机视觉CS231n学习(7)
  • 【Altium designer】解决报错“Access violation at address...“
  • 【代码随想录day 17】 力扣 617.合并二叉树