ylbtech-LanguageSamples-CollectionClasses(集合类)
| ylbtech-Microsoft-CSharpSamples:ylbtech-LanguageSamples-CollectionClasses(集合类) |
| 1.A,示例(Sample) 返回顶部 |
“集合类”示例
本示例演示如何实现可与 foreach 语句一起使用的集合类。有关更多信息,请参见集合类(C# 编程指南)。
| 安全说明 |
|---|
|
提供此代码示例是为了阐释一个概念,它并不代表最安全的编码实践,因此不应在应用程序或网站中使用此代码示例。对于因将此代码示例用于其他用途而出现的偶然或必然的损害,Microsoft 不承担任何责任。 |
在 Visual Studio 中生成并运行“集合类”示例
在“解决方案资源管理器”中,右击“CollectionClasses1”项目并单击“设为启动项目”。
在“调试”菜单中,单击“开始执行(不调试)”。
对于 CollectionClasses2,请重复前面的步骤。
从命令行生成并运行“集合类”示例
使用“更改目录”命令转到“CollectionClasses1”目录。
键入以下命令:
csc tokens.cs
tokens使用“更改目录”命令转到“CollectionClasses2”目录。
键入以下命令:
csc tokens2.cs
tokens2
| 1.B,示例代码(Sample Code)返回顶部 |
1.B.1, tokens.cs
// 版权所有(C) Microsoft Corporation。保留所有权利。
// 此代码的发布遵从
// Microsoft 公共许可(MS-PL,http://opensource.org/licenses/ms-pl.html)的条款。
//
//版权所有(C) Microsoft Corporation。保留所有权利。 // tokens.cs
using System;
// 使命名空间 System.Collections 可用:
using System.Collections; // 声明 Tokens 类:
public class Tokens : IEnumerable
{
private string[] elements; Tokens(string source, char[] delimiters)
{
// 将字符串分析为标记:
elements = source.Split(delimiters);
} // IEnumerable 接口实现:
// 声明 IEnumerable 所需的
// GetEnumerator() 方法
public IEnumerator GetEnumerator()
{
return new TokenEnumerator(this);
} // 内部类实现 IEnumerator 接口:
private class TokenEnumerator : IEnumerator
{
private int position = -;
private Tokens t; public TokenEnumerator(Tokens t)
{
this.t = t;
} // 声明 IEnumerator 所需的 MoveNext 方法:
public bool MoveNext()
{
if (position < t.elements.Length - )
{
position++;
return true;
}
else
{
return false;
}
} // 声明 IEnumerator 所需的 Reset 方法:
public void Reset()
{
position = -;
} // 声明 IEnumerator 所需的 Current 属性:
public object Current
{
get
{
return t.elements[position];
}
}
} // 测试标记 TokenEnumerator static void Main()
{
// 通过将字符串分解为标记来测试标记:
Tokens f = new Tokens("This is a well-done program.",
new char[] {' ','-'});
foreach (string item in f)
{
Console.WriteLine(item);
}
}
}
1.B.2,
| 1.B,示例代码2(Sample Code)返回顶部 |
1.B.1, tokens2.cs
// 版权所有(C) Microsoft Corporation。保留所有权利。
// 此代码的发布遵从
// Microsoft 公共许可(MS-PL,http://opensource.org/licenses/ms-pl.html)的条款。
//
//版权所有(C) Microsoft Corporation。保留所有权利。 // tokens2.cs
using System;
using System.Collections; public class Tokens: IEnumerable
{
private string[] elements; Tokens(string source, char[] delimiters)
{
elements = source.Split(delimiters);
} // IEnumerable 接口实现: public TokenEnumerator GetEnumerator() // 非 IEnumerable 版本
{
return new TokenEnumerator(this);
} IEnumerator IEnumerable.GetEnumerator() // IEnumerable 版本
{
return (IEnumerator) new TokenEnumerator(this);
} // 内部类实现 IEnumerator 接口: public class TokenEnumerator: IEnumerator
{
private int position = -;
private Tokens t; public TokenEnumerator(Tokens t)
{
this.t = t;
} public bool MoveNext()
{
if (position < t.elements.Length - )
{
position++;
return true;
}
else
{
return false;
}
} public void Reset()
{
position = -;
} public string Current // 非 IEnumerator 版本: 类型安全
{
get
{
return t.elements[position];
}
} object IEnumerator.Current // IEnumerator 版本: 返回对象
{
get
{
return t.elements[position];
}
}
} // 测试标记 TokenEnumerator static void Main()
{
Tokens f = new Tokens("This is a well-done program.",
new char [] {' ','-'});
foreach (string item in f) // 要将 string 更改为 int
{
Console.WriteLine(item);
}
}
}
1.B.2,
| 1.C,下载地址(Free Download)返回顶部 |
![]() |
作者:ylbtech 出处:http://ylbtech.cnblogs.com/ 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。 |
ylbtech-LanguageSamples-CollectionClasses(集合类)的更多相关文章
- Java集合类--温习笔记
最近面试发现自己的知识框架有好多问题.明明脑子里知道这个知识点,流程原理也都明白,可就是说不好,不知道是自己表达技能没点,还是确实是自己基础有问题.不管了,再巩固下基础知识总是没错的,反正最近空闲时间 ...
- C# - 集合类
C#的集合类命名空间介绍: // 程序集 mscorlib.dll System.dll System.Core.dll // 命名空间 using System.Collections:集合的接口和 ...
- 做JavaWeb开发不知Java集合类不如归家种地
Java作为面向对象语言对事物的体现都是以对象的形式,为了方便对多个对象的操作,就要对对象进行存储.但是使用数组存储对象方面具有一些弊端,而Java 集合就像一种容器,可以动态地把多个对象的引用放入容 ...
- Java基础知识笔记(八:集合类)
目录 1 集合类简介 2 List介绍及简单使用 2.1 LinkedList介绍及简单使用 2.2 ArrayList介绍及简单使用 2.3 Vector介绍及简单使用 2.3.1 S ...
- [转]使用Enumeration和Iterator遍历集合类
原文地址:http://www.cnblogs.com/xwdreamer/archive/2012/05/30/2526268.html 前言 在数据库连接池分析的代码实例中,看到其中使用Enume ...
- java集合类深入分析之Queue篇
简介 Queue是一种很常见的数据结构类型,在java里面Queue是一个接口,它只是定义了一个基本的Queue应该有哪些功能规约.实际上有多个Queue的实现,有的是采用线性表实现,有的基于链表实现 ...
- Android开发之Java集合类性能分析
对于Android开发者来说深入了解Java的集合类很有必要主要是从Collection和Map接口衍生出来的,目前主要提供了List.Set和 Map这三大类的集合,今天Android吧(ard8. ...
- 【转载】Java集合类Array、List、Map区别和联系
Java集合类主要分为以下三类: 第一类:Array.Arrays第二类:Collection :List.Set第三类:Map :HashMap.HashTable 一.Array , Arrays ...
- Java 集合类的特性
ArrayList: 元素单个,效率高,多用于查询 Vector: 元素单个,线程安全,多用于查询 LinkedList: 元素单个,多用于插入和删除 HashMap: 元素成对,元素可为空 H ...
随机推荐
- [ CodeVS冲杯之路 ] P2456
不充钱,你怎么AC? 题目:http://codevs.cn/problem/2456/ 用贪心的思想,木材当然要尽量分成多的木板,而大的木材能够分成大木板,但是小的木材不一定能够分成大的木板,所以木 ...
- mysql 等 null 空值排序
[sqlserver]: sqlserver 认为 null 最小. 升序排列:null 值默认排在最前. 要想排后面,则:order by case when col is null then 1 ...
- [Leetcode Week5]Word Ladder
Word Ladder题解 原创文章,拒绝转载 题目来源:https://leetcode.com/problems/word-ladder/description/ Description Give ...
- 网络知识===TCP/UDP的区别
TCP(传输控制协议,Transmission Control Protocol): 1)提供IP环境下的数据可靠传输(一台计算机发出的字节流会无差错的发往网络上的其他计算机,而且计算机A接收数据包的 ...
- SQLAlchemy中filter()和filter_by()有什么区别
from:https://segmentfault.com/q/1010000000140472 filter: apply the given filtering criterion to a co ...
- Spring MVC的静态和动态概念
MVC模式: 图释:用户请求通过HTTP协议到达Front controller,Front controller把请求送给Controller,Controller了解业务逻辑细节并且调用业务逻辑数 ...
- servlet(5) - Cookie和session - 小易Java笔记
1.会话概述 (1)会话可简单理解为:用户开一个浏览器,点击多个超链接,访问服务器多个web资源,然后关闭浏览器,整个过程称之为一个会话. (2)会话过程中的数据不宜保存在request和servle ...
- Tomcat 部署2个项目,只有一个可以访问的解决方案
Tomcat 部署2个应用后只有一个可以访问,另一个不能访问,一般来说就是因为Tomcat启动加载了配置文件后,当启动另一个应用时由于一些配置名称相同所以不再加载,导致之后应用无法正常启动. 异常信息 ...
- hdu 5194(DFS)
DZY Loves Balls Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)T ...
- 详解ListView加载网络图片的优化,让你轻松掌握!
详解ListView加载网络图片的优化,让你轻松掌握! 写博客辛苦了,转载的朋友请标明出处哦,finddreams(http://blog.csdn.net/finddreams/article/de ...
