首页 > 编程语言 >C#迭代器foreach

C#迭代器foreach

时间:2022-12-21 09:59:37浏览次数:37  
标签:迭代 C# st Students Add foreach Student public

自己建立的类中,可以通过迭代器列出所有的成员   

需用到   IEnumerable

建立   Students  类,通过迭代列出所有的student的id和name 

    class Student
    {
        public int Id { get; set; }
        public string Name { get; set; }
    }
    class Students :IEnumerable
    {
        public List<Student> students = new List<Student>();
        public void Add(int id,string name) => students.Add(new Student { Id=id,Name=name});
       
        public IEnumerator GetEnumerator()
        {
            foreach (var s in students)
            {
                yield return s;
            }
        }
    }

新建一个按钮和文本框,写入代码

        private void button1_Click(object sender, EventArgs e)
        {
            Students st = new Students();
            st.Add(0, "Tony");
            st.Add(1, "Micheal");
            st.Add(2, "Amy");
            foreach (var s in st)
            {
                Student st1 = (Student)s;

                  textBox1.AppendText(st1.Id.ToString() +":"+ st1.Name+"\r\n");

            }
        }

 

标签:迭代,C#,st,Students,Add,foreach,Student,public
From: https://www.cnblogs.com/hiyanhao/p/16995562.html

相关文章

  • 分布式注册服务中心etcd在云原生引擎中的实践
    作者:王雷etcd是什么etcd是云原生架构中重要的基础组件,由CNCF孵化托管。ETCD是用于共享配置和服务发现的分布式,一致性的KV存储系统,是CoreOS公司发起的一个开源项目,授权协......
  • .net core webapi跨域处理
    一、引入cors组件右击项目——在终端中打开——dotnetaddpackageMicrosoft.AspNetCore.Cors--version2.0.1   二、配置cors在项目根目录的Startup.c......
  • MySQL8.0—clone plugin
    1、MySQL8.0cloneplugin简介 1) 克隆插件允许从本地或远程的MySQLServer中克隆数据。克隆的数据是存储在InnoDB中的schema(database)、table(表)、tablespaces(表空间)和d......
  • Dockerfile
    Dockerfile是由一系列命令和参数构成的脚本,这些命令应用于基础镜像并最终创建一个新的镜像,文件名必须叫Dockerfile#镜像哪里来?-1远程仓库下载的-2容器做......
  • shiro集成CAS遇到的问题
    O在继承单点登陆的时候shiro和cas服务器中的session的有效时间不一致,这个时候就导致了当shiro的session失效的时候调用到cas服务器的登陆这个时候就会跳转不过去,从而导致了......
  • P3773 CTSC2017 吉夫特
    P3773CTSC2017吉夫特-洛谷|计算机科学教育新生态(luogu.com.cn)这个题面非常诈骗,应该是出题者故意的。题目中那么老长串式子,其实就等价于这个长度为\(m\)的子序......
  • 对于async和await的使用方式、作用效果不怎么理解 ?没关系,初步看这篇就够了
    首先不是阻塞式的,asyncawait是通过csp的方式实现的无堆栈携程,await在编译的时候会把await后的代码转换成状态机的下一步【可以简单理解为await之前的代码是Task里面执......
  • vue项目引入echarts柱状图
    一。components文件下引入barCharts.vue文件<template><div:class="className":style="{height:height,width:width}"/></template><script>import*asecha......
  • 初识Tomcat
    Tomcat学习归纳1.web认识:web服务器(主机)供浏览器访问的资源(静态资源,动态资源)2.学习JavaWeb开发,必须要先装WEB服务软件(Tomcat本质就是一个Java程序,但是这个Java......
  • 在CentOS8中安装gitlab
    安装docker及docker-composecentos8更新源cd/etc/yum.repos.d/sed-i's/mirrorlist/#mirrorlist/g'/etc/yum.repos.d/CentOS-*sed-i's|#baseurl=http://mirro......