SUNWEN教程之----C#进阶(十)

2016-02-19 12:12 3 1 收藏

最近很多朋友喜欢上设计,但是大家却不知道如何去做,别担心有图老师给你解答,史上最全最棒的详细解说让你一看就懂。

【 tulaoshi.com - 编程语言 】

大家好,我是SUNWEN.今天下午得知,晚上要去当"更夫".呵呵,我们这个学校很是奇怪,要叫我们轮流去通宵巡逻,从晚上10:30到早上6:00.我有一个物理系的朋友,上次在田家炳楼门前找了一个宣传板,垫在下面就睡了一觉,听了笑死我了!哈哈!

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/bianchengyuyan/)

现在我想说的是C#中的容器.这是一个非常重要的话题,因为不管你写什么样的程序,你都不能不与容器打交道.什么是容器呢(倒!).容器就是可以容纳东西的东西(再倒!),在C#和JAVA这种面向对象的编程语言中,容器就被称为可以容纳对象的东东,不是说"一切都是对象吗?"以前,我一个搞C++的程序员朋友告诉我,JAVA中的容器太好用了,比C++好用多了.而作为JAVA的后来者的C#毫无疑问,它的容器功能肯定也是很强大的.

foreach语句是遍历容器的元素的最简单的方法.我们可以用System.Collections.IEnumerator类和System.Collections.IEnumerable接口来使用C#中的容器,下面有一个例子,功能是字符串分割器.

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/bianchengyuyan/)

000: // CollectionClassesokens.cs
001: using System;
002: using System.Collections;
003:
004: public class Tokens : IEnumerable
005: {
006: private string[] elements;
007:
008: Tokens(string source, char[] delimiters)
009: {
010: elements = source.Split(delimiters);
011: }
012:
013: //引用IEnumerable接口014:
015: public IEnumerator GetEnumerator()
016: {
017: return new TokenEnumerator(this);
018: }
019:
020:
021:
022: private class TokenEnumerator : IEnumerator
023: {
024: private int position = -1;
025: private Tokens t;
026:
027: public TokenEnumerator(Tokens t)
028: {
029: this.t = t;
030: }
031:
032: public bool MoveNext()
033: {
034: if (position t.elements.Length - 1)
035: {
036: position++;
037: return true;
038: }
039: else
040: {
041: return false;
042: }
043: }
044:
045: public void Reset()
046: {
047: position = -1;
048: }
049:
050: public object Current
051: {
052: get
053: {
054: return t.elements[position];
055: }
056: }
057: }
058:
059: // 测试060:
061: static void Main()
062: {
063: Tokens f = new Tokens("This is a well-done program.", new char[] { ,-});
064: foreach (string item in f)
065: {
066: Console.WriteLine(item);
067: }
068: }
069: }
这个例子的输出是:
This
is
a
well
done
program.
好了,这一节就说到这了.现在环境不太好,旁边一大帮同学在看VCD,不好搞.

来源:https://www.tulaoshi.com/n/20160219/1600205.html

延伸阅读
OK,我又回来了,前面写了那么多,跟JAVA的对比也够多了,现在我就用我自己试验的例子,来看一看C#这个被称为JAVA#的新一代编程语言到底与JAVA有多大的区别. 首先我们建立一个C#的程序文件cs1.cs,然后再建立一个JAVA的源程序文件cs1.java.它们的内容分别是: cs1.cs: using System; public class cs1{ public static void Main(){ Console.Wri...
大家好,我是SUNWEN.今天下午得知,晚上要去当"更夫".呵呵,我们这个学校很是奇怪,要叫我们轮流去通宵巡逻,从晚上10:30到早上6:00.我有一个物理系的朋友,上次在田家炳楼门前找了一个宣传板,垫在下面就睡了一觉,听了笑死我了!哈哈! 现在我想说的是C#中的容器.这是一个非常重要的话题,因为不管你写什么样的程序,你都不能不与容...
这次我要向大家讲的是C#中的属性.属性是什么呢,比如说我是男的,男就是我的一人属性.我是一个大一的学生,大一也是我的一个属性.属性就是一个对象的性质.很简单吧,呵呵!下面,我给出两个例子,第一个例子出明了如何声明一个可以修改的属性,另一个例了建立了一个抽象的属性(Abstract),并且说明了如何在子类中丢弃它.好,下面让我们开始吧. ...
大家好,我是武汉华师的SUNWEN,今天Zzz....(快醒醒!啪!..啪!倒,叫我起来也不要用皮鞋来打嘛).现在是五月四号晚上19:33,我好想睡觉.只好打开音乐来提神了! 这一节我要讲的是大家非常关心的,肯定也是非常感兴趣的部分.嘿嘿,也是我写教程最拿手的部分----ADO数据库访问.想到这,我就想起我在去年写的"访问数据库"系列文章,嘿嘿!...
现在我要说的是C#中的版本处理.其实这是任何一个软件必须要考虑的问题.每个软件都不只一个版本(除了我写的以外),因此版本处理显得非常地重要.JAVA很好地处理了这个问题,而我个人认为C#借鉴了JAVA的处理方法,所以,也做得很好. 在C#中,如果你在声明一个方法的时候用了virtual这个关键字,那么,在派生类中,你就可以使用override或者new关...

经验教程

358

收藏

98
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部