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

百度网站建设目标赣州seo排名

百度网站建设目标,赣州seo排名,高端公司网站建设,手机商城网站建设策划方案范文本文仅作学习笔记与交流,不作任何商业用途,作者能力有限,如有不足还请斧正 本篇有部分内容出自唐老狮,唐老师网站指路:全部 - 游习堂 - 唐老狮创立的游戏开发在线学习平台 - Powered By EduSoho 目录 1.索引器 2.迭代器 1.索引器 我的理解 索…

         本文仅作学习笔记与交流,不作任何商业用途,作者能力有限,如有不足还请斧正

        本篇有部分内容出自唐老狮,唐老师网站指路:全部 - 游习堂 - 唐老狮创立的游戏开发在线学习平台 - Powered By EduSoho

目录

1.索引器

 2.迭代器


 

1.索引器

        我的理解 索引器就是一个对象内数据结构属性, 像普通属性一样是一个语法糖

       可以让 对象 像数组一样访问 对象内的集合元素 看一下就知道怎么用了

        来一个C#版本的看看语法

public class StudentList
{private string[] students = new string[5];// 定义索引器 其中index代表外界索引的标志 返回值则是你的数据结构的类型public string this[int index]{get => students[index];set => students[index] = value;}
}// 使用索引器
StudentList list = new StudentList();
list[0] = "Alice";  // 设置值
Console.WriteLine(list[0]); // 输出 "Alice"(获取值)

        要知道索引器不仅可以封装对象数组 还可以封装List 字典等等 

        来一个Unity版本的:

        C#下 泛型的 ,其实上面那个就是Unity 泛型的

public class CustomListWrapper<T>
{private List<T> _items = new List<T>();// 索引器public T this[int index]{get => _items[index];set => _items[index] = value;}// 添加元素的方法public void Add(T item) => _items.Add(item);
}// 使用
var listWrapper = new CustomListWrapper<string>();
listWrapper.Add("A");
listWrapper[0] = "B";  // 通过索引器修改值
Console.WriteLine(listWrapper[0]); // 输出 "B"

 2.迭代器

        允许对象支持 foreach 遍历 就已经实现了迭代器 作用为按需生成序列值(延迟执行),不需要知道其内部逻辑结构

        foreach的本质就是利用迭代器做迭代 ,借用唐老狮笔记:

        自己写迭代器 只需要注意三点:

        1 继承IEnumeratble(可选)

        2 实现GetEnumerator(必须)

        3 继承IEnumerator(必须)

        其内部就是一个可移动的"光标",每次MoveNext以后返回为true就让currentIndex+=1

using System;
using System.Collections;class MyCollection
{private int[] data = { 1, 2, 3, 4, 5 };public MyEnumerator GetEnumerator(){return new MyEnumerator(this);}public class MyEnumerator : IEnumerator{private MyCollection collection;private int currentIndex = -1;public MyEnumerator(MyCollection collection){this.collection = collection;}public object Current{get{if (currentIndex < 0 || currentIndex >= collection.data.Length){throw new InvalidOperationException();}return collection.data[currentIndex];}}public bool MoveNext(){currentIndex++;return currentIndex < collection.data.Length;}public void Reset(){currentIndex = -1;}public void Dispose(){// 在这里进行资源清理相关操作,比如关闭文件、释放连接等// 对于简单示例这里可以不做具体操作}}
}class Program
{static void Main(){MyCollection myCollection = new MyCollection();MyCollection.MyEnumerator enumerator = myCollection.GetEnumerator();while (enumerator.MoveNext()){Console.WriteLine(enumerator.Current);}enumerator.Dispose();}
}

        使用yield return直接替代了IEnumerator中这几个方法

using System;
using System.Collections.Generic;class MyEnumerable
{private int[] data = { 1, 2, 3, 4, 5 };public IEnumerable<int> GetEnumerator(){for (int i = 0; i < data.Length; i++){yield return data[i];}}
}class Program
{static void Main(){MyEnumerable myEnumerable = new MyEnumerable();foreach (int num in myEnumerable.GetEnumerator()){Console.WriteLine(num);}}
}

         总体来说 是不需要自己实现但是需要知道的知识

 

http://www.dtcms.com/wzjs/336048.html

相关文章:

  • 网站建设的自我总结百度推广开户多少钱
  • 大连网站设计公司网页模板图片
  • 网站建设的流程图谷歌搜索引擎
  • 淘宝网页版本安卓优化软件
  • 做网站 什么语言好免费留电话号码的广告
  • 苏州 网站建设如何制作百度网页
  • 省 两学一做 专题网站网络营销费用预算
  • 网站开发需求模板模板专业网站优化推广
  • 长沙人才招聘网最新招聘长沙网站推广排名优化
  • 网站建设方案模板范文太原网站制作优化seo公司
  • wordpress主题盗取百度关键词优化送网站
  • 十堰网站建设专家懂得网站推广
  • 如何提高网站吸引力市场调研报告500字
  • 淮南医院网站建设杭州网站seo推广软件
  • 独立建设网站需要全栈吗百度搜索推广和信息流推广
  • 广州可信网站认证服务器营销策划公司经营范围
  • 重庆微信网站建设价格地域名网址查询
  • 什么是网络搭建seo专业培训需要多久
  • 榆林免费做网站免费的推广网站
  • 阿里云网站301重定向怎么做天机seo
  • 网站建设结构框架福州seo推广外包
  • 营销型网站的建设步骤百度搜索一下
  • 专做国外采购的网站2024年1月新冠高峰
  • 如何看别人网站用什么做的外贸网站建设公司哪家好
  • 新能源课件网站开发新能源外链提交
  • 网站导航设置成人电脑培训班办公软件
  • 一家专业做家谱的网站百度官方认证
  • 一比一高仿手表网站国内永久免费建站
  • 动漫做a视频网站2020国内搜索引擎排行榜
  • 百度怎么推广自己的网站cpa推广联盟平台