当前位置: 首页 > article >正文

C#里怎么样实现自己的类满足for-each循环访问?

C#里怎么样实现自己的类满足for-each循环访问?

由于foreach语句使用起来比较方便,并且又简单,不像for循环那样需要写三个语句,
并且还有可能判断不对,导致少访问的情况。

在使用库里提供的容器时,都会有实现foreach的方式。
如果自己的类也实现这种方式,使用起来就比较方便了。

其实需要了解接口IEnumerable,才能实现这种方式访问。


例子演示如下:

/*
 * C# Program to Implement for-each in Inteface
 */
using System;
using System.Collections;
class GrowableArray : IEnumerable
{
  object[] a;
  public GrowableArray(int size) 
  {
    a = new object[size];
  }
  public GrowableArray() : this(8) {}
  void Grow() 
  {
    object[] b = new object[2 * a.Length];
    Array.Copy(a, b, a.Length);
    a = b;
  }
  public object this[int i] 
  {
    set 
    {
      if (i >= a.Length) Grow();

http://www.kler.cn/a/409236.html

相关文章:

  • 【LeetCode面试150】——202快乐数
  • Vue——响应式数据,v-on,v-bind,v-if,v-for(内含项目实战)
  • ES6 模块化语法
  • Qt入门1——认识Qt的几个常用头文件和常用函数
  • P1 练习卷(C++4道题)
  • 数字化工厂 MES试点方案全解析(二)
  • 计算机网络socket编程(2)_UDP网络编程实现网络字典
  • Qt实现可拖拽的矩形
  • 小程序-基于java+SpringBoot+Vue的开放实验室预约管理系统设计与实现
  • Express编写中间件
  • OAuth2资源服务器白名单接口带token被拦截
  • GPU服务器厂家:科研服务器领域机遇与博弈,AMD 新UDNA 架构
  • C++初阶(十五)--STL--list 的深度解析与全面应用
  • C++二级:计算矩阵边缘元素之和
  • 《硬件架构的艺术》笔记(五):低功耗设计
  • 【Android】android compat理解
  • 07-SpringCloud-Gateway新一代网关
  • Cross-Site Scripting(XSS)攻击
  • MassTransit中文文档
  • MATLAB神经网络(五)——R-CNN视觉检测
  • 什麼是ISP提供的公共IP地址?
  • 低成本TYPE-C转DP线
  • 企业OA系统:Spring Boot技术实现与管理
  • 对传统加密算法降维打击?!——量子计算
  • springMVC重点知识
  • Centos-stream 9,10 add repo