您现在的位置: 爱51代码网 >> 范文 >> 文章正文
asp.net如何使Vector类支持IEnumerable接口

asp.net如何使Vector类支持IEnumerable接口

这问题确实太初级了,好久没用这个,忘了分请在①处添加代码,使得Vector类支持IEnumerable接口。
提示:实现GetEnumerator 方法,这需要定义一个实现了IEnumerator接口的辅助类。
using System;
using System.Collections.Generic;
namespace CollectionDemo
{
class Vector : IEnumerable
{
public double X;
public double Y;
public double Z;
public Vector(double x, double y, double z)
{
X = x; Y = y; Z = z;
}
//①
}
class Program
{
static void Main(string[] args)
{
Vector vec = new Vector(30, 100, 60);
foreach (double v in vec)
{
Console.WriteLine(v);
}
}
}
}
输出的结果为:
30
100
60

书上的例子都是用于对象,foreach怎么用于double类型,而且是在vec对象中 后要重新绑定一下数据了,恩,是要把所有的查出来,不过无所谓,内部项目,放局域网上用,懒的写分页了~

using System;
using System.Collections.Generic;
using System.Linq;
using System.Collections;
using System.Text;

namespace ConsoleApplication3
{
    class Vector : IEnumerable
    {
        public double X;
        public double Y;
        public double Z;
        public Vector(double x, double y, double z)
        {
            X = x; Y = y; Z = z;
        }
        public IEnumerator GetEnumerator()
        {
            return new MyStringEnumerator(X,Y,Z);
        }
    }
    public class MyStringEnumerator : IEnumerator
    {
        private double[] arr;
        private int index = -1;
        public MyStringEnumerator(double x,double y,double z)
        {
            arr = new double[3] {x,y,z};
        }
        public object Current
        {
            get { return arr[index]; }
        }

        public bool MoveNext()
        {
            index++;
            if (index < arr.Length)
            {
                return true;
            }
            else
            {
                return false;
            }        }

        public void Reset()
        {
            index = -1;
        }
    }
}

  • 上一篇文章:

  • 下一篇文章: 没有了
  • 最新文章 热点文章 相关文章
    android手机无法与eclipse或电脑
    C/C++洗牌算法源代码
    servlet技术实现用户名唯一的验证
    E-business suite system servic
    ZOJ 3700 Ever Dream 文章中单词
    TortoiseGit和msysGit安装及使用
    asp中有一段javascipt的网页鼠标
    sharepoint 2010 获取用户信息Us
    设计包含max函数的队列
    随机从数组中取出指定的不重复的
    ZOJ 3700 Ever Dream 文章中单词
    TortoiseGit和msysGit安装及使用
    sharepoint 2010 获取用户信息Us
    mysql主从同步延迟方案解决的学习
    生日旅行总结
    中小板生日快乐随感
    送生日快乐桑葚乳酪小蛋糕
    写给女儿的生日快乐
    总分公司财务核算
    恢复使用繁体字可行性研究报告
    没有相关文章
     



    设为首页 | 加入收藏 | 网站地图 | 友情链接 |