using System;
using System.Collections.Generic;
using System.Text;
namespace DicrionaryTest
{
public class Stack<T>//定义一个泛型类
{
private int count;//元素个数
private T[] items;//用T替换一个具体的数据类型
public Stack(int size)
{
items = new T[size];//使用泛型
count = 0;
}
public void Push(T k)
{
items[count++] = k;
}
public T Pop()//采用泛型作为类型
{
return items[--count];
}
public int Count//只读属性
{
get
{
return this.count;
}
}
}
class Test
{
static void Main(string[] args)
{
Stack<int> ts = new Stack<int>(10);//定义一个存放int型数据的栈
ts.Push(123);//进栈
ts.Push(456);
string str = "";
while (ts.Count > 0)
{
str = str + ts.Pop() + "\t";//出栈
}
Console.WriteLine(str);
Console.ReadLine();
}
}
}
分享到:
相关推荐
总的来说,C#泛型的应用实例非常广泛,从简单的数据存储到复杂的算法实现,都能看到其身影。通过使用泛型,我们可以编写更加灵活、高效且类型安全的代码,提高软件的可维护性和复用性。在实际开发中,理解和掌握泛型...
这是一个泛型委托的示例,主要是让初学者了解泛型委托的用法,虽然很简单,但是代码有注释,我的这个例子是在vs2010中做的,用vs08的朋友们,最好还是转一下,但是绝对能实现(本程序是控制台应用程序,适合初学者)...
下面我们将深入探讨C#泛型接口的概念、语法以及如何在实际开发中应用。 一、泛型接口基础 1. 定义泛型接口:泛型接口通过在接口名称后添加尖括号`<T>`来声明,其中`T`是类型参数,代表一个未知的数据类型。例如: ...
C#泛型编程是.NET框架中的一个重要特性,它允许开发者创建可重用的代码模板,这些模板可以在多种数据类型上工作,而无需显式地指定类型。这为开发者提供了更高的灵活性,增强了类型安全,并减少了不必要的类型转换。...
本主题将深入探讨C#中的泛型、集合、迭代器以及数据结构的应用,这些都是软件开发中的核心概念。 首先,泛型是C#中一个强大的特性,它允许我们在不指定具体类型的情况下编写代码。这样可以提高代码的重用性,减少...
下面是一段简单的泛型事件委托的示例: ```csharp public delegate void GenericEventHandler(object sender, TEventArgs e) where TEventArgs : EventArgs; public class EventPublisher { public event ...
总的来说,结合C#的泛型、泛型接口、简单工厂模式以及序列化技术,我们可以构建一个灵活且高效的新闻阅览器,它能够处理各种类型的新闻数据,同时保持良好的代码结构和可扩展性。通过这样的设计,开发者可以轻松地...
本文将深入探讨C#泛型的几个关键优势,并通过具体的示例来解释如何有效地使用泛型。 #### 二、泛型的概念与优势 ##### 2.1 概念 泛型是C#中一种高级特性,允许程序员在声明类、接口或方法时使用占位符类型(通常用...
"C#泛型数据录入DEMO"着重展示了如何利用泛型来处理数据输入输出操作,使得代码更加灵活、高效且类型安全。 泛型在C#中的应用主要体现在类、接口、方法以及委托等方面。首先,泛型类允许我们在定义类时不确定其使用...
### C#泛型详解 #### 一、引言与背景 在软件开发过程中,经常会遇到相同逻辑处理不同数据类型的情况。例如,一个排序算法可以应用于整数数组、字符串数组甚至是自定义对象数组。传统做法是为每种数据类型编写一个...
- **简洁性**:相比于 C++ 模板,C# 泛型更加简单易懂,更适合日常应用开发,虽然缺少一些高级特性,但满足大多数需求。 - **类型安全性**:C# 泛型提供了更好的类型安全性,减少了运行时错误的可能性。 - **...
在编程领域,C# 是一种广泛使用的面向对象的编程语言,尤其在开发Windows应用程序和.NET框架下工作时。本文将深入探讨C#中的泛型,它是C#的一个重要特性,对于初学者来说,理解并掌握泛型是提高编程效率和代码复用性...
在本文中,我们将深入探讨C#泛型的基本概念,以及它们如何与堆栈这一数据结构相结合。 首先,让我们了解什么是泛型。在C#中,泛型主要体现在以下几个方面: 1. **泛型类**:泛型类允许我们在定义类时声明一个或多...
总的来说,这个任务涉及到了C#泛型、反射、递归和XML序列化等多个核心概念。通过编写泛型类和使用递归,我们可以创建一个灵活且强大的工具,不仅可以处理简单的对象,还可以处理包含嵌套类和可能的递归结构的对象。...
**C# 泛型入门经典** C# 泛型是一种强大的编程工具...通过深入理解和熟练使用C#泛型,开发者可以构建更加灵活、安全且高效的代码。阅读《C# 泛型简介》文档,将能更全面地了解这一关键特性,并将其应用于实际项目中。
**C#泛型优先队列的构建** 在C#中创建泛型优先队列,我们可以自定义一个类,该类包含以下关键组件: 1. **存储结构**:一般使用泛型列表(`List<T>`)或者数组(`T[]`)来存储元素。 2. **比较器**:使用`IComparer...
泛型类是泛型的一种应用,可以在多个不同的数据类型上工作,提供了更高的类型安全性和性能。本篇文章将深入探讨如何在C#中使用和继承泛型类。 首先,让我们理解什么是泛型类。泛型类是一种模板或蓝图,它定义了参数...
泛型是C#中的一种特性,它允许我们在不指定具体类型的情况下编写代码,这使得代码可以应用于多种数据类型,从而提高了代码的重用性和效率。在定义泛型类、接口或方法时,我们使用尖括号`< >`来声明类型参数。例如,...
这种自定义泛型类的能力,展示了C#泛型的强大之处,不仅限于使用标准库中的泛型集合,还可以根据特定需求设计自己的泛型结构。 #### 泛型约束的妙用 泛型约束是C#泛型的一个重要特性,它允许开发者指定类型参数...
C#泛型是.NET框架中一个强大的特性,它允许在代码中定义类型参数,从而创建可重用的组件,这些组件能够处理多种数据类型。在深入讲解泛型之前,我们首先要理解什么是类型参数。类型参数是在类、接口、方法或委托定义...