首页 > 编程语言 >C#泛型

C#泛型

时间:2023-04-08 15:55:52浏览次数:26  
标签:Console C# 数据类型 c++ int MyGenericArray 泛型 array

泛型(Generic) 允许您延迟编写类或方法中的编程元素的数据类型的规范,直到实际在程序中使用它的时候。换句话说,泛型允许您编写一个可以与任何数据类型一起工作的类或方法。

您可以通过数据类型的替代参数编写类或方法的规范。当编译器遇到类的构造函数或方法的函数调用时,它会生成代码来处理指定的数据类型。下面这个简单的实例将有助于您理解这个概念:

实例

using System;
using System.Collections.Generic;

namespace GenericApplication
{
    public class MyGenericArray<T>
    {
        private T[] array;
        public MyGenericArray(int size)
        {
            array = new T[size + 1];
        }
        public T getItem(int index)
        {
            return array[index];
        }
        public void setItem(int index, T value)
        {
            array[index] = value;
        }
    }
           
    class Tester
    {
        static void Main(string[] args)
        {
            // 声明一个整型数组
            MyGenericArray<int> intArray = new MyGenericArray<int>(5);
            // 设置值
            for (int c = 0; c < 5; c++)
            {
                intArray.setItem(c, c*5);
            }
            // 获取值
            for (int c = 0; c < 5; c++)
            {
                Console.Write(intArray.getItem(c) + " ");
            }
            Console.WriteLine();
            // 声明一个字符数组
            MyGenericArray<char> charArray = new MyGenericArray<char>(5);
            // 设置值
            for (int c = 0; c < 5; c++)
            {
                charArray.setItem(c, (char)(c+97));
            }
            // 获取值
            for (int c = 0; c < 5; c++)
            {
                Console.Write(charArray.getItem(c) + " ");
            }
            Console.WriteLine();
            Console.ReadKey();
        }
    }
}

标签:Console,C#,数据类型,c++,int,MyGenericArray,泛型,array
From: https://www.cnblogs.com/HomeSapiens/p/17298652.html

相关文章

  • MSTSCLib_TLB 修正
     delphi7 导入RDPAcitveX 生成的MSTSCLib_TLB.pas delphi真的好惨啊,资料都是其他语言的。用到都得自己转换,自身导入生成的还有问题。或者用法根本就不一样。生成的是这样的:IMsRdpClientNonScriptable=interface(IMsTscNonScriptable)['{2F079C4C-87B2-4AFD-97AB-20CD......
  • Chapter2 K-近邻算法案例1
    案例2:使用K-近邻算法实现手写数字系统1.案例要求编写一个程序,应用K-近邻算法,实现手写数字系统。通过画图生成一个32*32的数字图像,再将图像转化为代表数字的0-1文本文件。之后往程序输入代表数字的0-1文本文件,程序便可以输出相应的数字。2.案例的执行流程示例......
  • setObject方法的作用
    setObjectsetObject就是给JDBC的SQL语句的占位符赋值的,即是下面的“?”预编译的SQL:参数使用?作为占位符注意:sql的参数使用?作为占位符。如:select*fromuserwhereusername=?andpassword=?;1获取执行sql语句的对象PreparedStatementConnection.prepareStatement(S......
  • ASEMI代理ADI(亚德诺)ADN8834ACBZ-R7车规级芯片
    编辑-ZADN8834ACBZ-R7芯片参数:型号:ADN8834ACBZ-R7驱动器电源电压VPVIN:2.7-5.5V控制器电源电压VVDD:2.7-5.5V电源电流IVDD:3.3mA关机电流ISD:350uA最大源电流:1.5A最大吸收电流:1.5AP型MOSFET开态电阻:35mΩN型MOSFET开态电阻:31mΩP型MOSFET泄漏电流:0.1uAN型MOSFET泄漏电流:0.1uAADN8834ACB......
  • JavaScript 数组笔记
    添加和删除数组项添加push()push()方法:向数组的末尾添加一个或多个元素,并返回修改后的数组长度。语法:arr.push(element1[,...[,elementN]])参数:element1,...,elementN:要添加到数组末尾的元素。示例:constfruits=['apple','banana','orange'];constnewLength......
  • ASEMI代理ADI(亚德诺)ADN8834ACBZ-R7车规级芯片
    编辑-ZADN8834ACBZ-R7芯片参数:型号:ADN8834ACBZ-R7驱动器电源电压VPVIN:2.7-5.5V控制器电源电压VVDD:2.7-5.5V电源电流IVDD:3.3mA关机电流ISD:350uA最大源电流:1.5A最大吸收电流:1.5AP型MOSFET开态电阻:35mΩN型MOSFET开态电阻:31mΩP型MOSFET泄漏电流:0.1uAN型MOSFET泄漏电流:0.......
  • ECE 5101/CSE 5463 问题解答
    ECE5101/CSE5463,Spring2023Due:Apr.811:59pm,2023onCarmenHomeworkAssignment#4LateSubmissionNOTAcceptedHomeworkAssignment#41.(20points)InanunslottedALOHAsystem,thepacketarrivaltimesofallusersformaPoissonprocesshavingarate......
  • windows 下使用CMake 配置 googletest测试库
    这个项目实际包含的知识细节,可以在微软的网站找到支持:1.安装googletest.下载,解压,googletest 进入开发者模式cmd界面: DeveloperCommandPromptforVS2022 编译,安装googletest#在解压后的目录下mkdirbuildcdbuild#准备安装在d:/googletestcmake-S..-B......
  • .net core 自定义规范响应的中间件
    在本文中,我们将介绍如何使用.NETCore中的中间件来自定义规范响应,以便在API调用时返回统一的格式和错误信息。中间件是一种可以在请求和响应管道中执行逻辑的软件组件,它可以对请求或响应进行修改、拦截或处理。我们将使用一个简单的示例来演示如何创建和使用自定义规范响应的......
  • ChatGPT中文在线官网
    ChatGPT中文在线官网:让智能对话更智能化随着人工智能的快速发展,智能对话系统已经逐渐成为了人们日常生活中不可或缺的一部分。作为一个基于GPT-3.5架构的大型语言模型,ChatGPT通过不断学习和自我完善,已经成为了全球范围内最受欢迎的智能对话系统之一。而为了更好地服务全球华语用......