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

汝阳网站开发最新百度快速排名技术

汝阳网站开发,最新百度快速排名技术,移动互联网开发技术电子书,wordpress idownsC# & Unity 面向对象补全计划 泛型-CSDN博客 关于List,其本质就是C#封装好的一个数组,是一个很好用的轮子,所以并不需要什么特别说明 问题描述 假设我们有一个表示学生的类 Student,每个学生有姓名和年龄两个属性。我们需要创…

C# & Unity 面向对象补全计划 泛型-CSDN博客

关于List,其本质就是C#封装好的一个数组,是一个很好用的轮子,所以并不需要什么特别说明

问题描述

假设我们有一个表示学生的类 Student,每个学生有姓名和年龄两个属性。我们需要创建一个学生列表,并实现以下功能:

  1. 添加学生到列表中
  2. 打印所有学生的信息(需要重写Tostring)
  3. 查找特定姓名的学生并打印其信息

 解决思路

用一个List来保存每一个学生的信息

        1.用List.Add方法添加学生

        2.用foreachi遍历打印

        3.用Find查找

数据图解

也就是说list<student> s

其中s[n]代表了一个个的student对象,而s[n].name,s[n].age才是我们要的数据,莫要搞混了

 

using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class Student : MonoBehaviour
{public string Name { get; set; }public int Age { get; set; }public Student(string name, int age){Name = name;Age = age;}public override string ToString(){return $"Name: {Name}, Age: {Age}";}
}

管理类一览 

using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using UnityEngine;public class StudentManager : MonoBehaviour
{List<Student> ss;private void Awake(){ss = new List<Student>();//添加ss.Add(new Student("张三",10));ss.Add(new Student("李四", 15));//遍历foreach (Student temp in ss){Debug.Log(temp);}//查找string tempName1 = "张三";//注意下面这行我声明了一个临时的对象存储需要找到对象//Find可以传入函数所以我就使用了一个lambda表达式Student foundStudent1 = ss.Find((value)=>value.Name == tempName1);//其等价于//students.Find(delegate (Student s) {//    return s.Name == tempName1;//});if (foundStudent1 != null)        {Debug.Log($"已找到该学生{foundStudent1}");}else{Debug.Log($"未找到该学生{tempName1}");}}
}

注意事项:

添加和遍历并不难,查找需要特别说明一点,这里我用的Find甚至直接传入的lambda表达式

因为思路如下:

为什么不用Contains对比呢? 

Contains 方法依赖于 Equals 方法和 GetHashCode 方法来判断列表中是否包含某个对象,如果非要用Contains 来写的话,就需要像下面这样重写这两个函数

    public override bool Equals(object obj){if (obj == null || GetType() != obj.GetType())return false;Student other = (Student)obj;return Name == other.Name && Age == other.Age;}public override int GetHashCode(){return HashCode.Combine(Name, Age);}

使用的时候则需要创建一个临时变量,传入要查找的值,还需要实例化一下所以不是太方便了

Student tempName1= new Student("Bob", 22);
http://www.mmbaike.com/news/36624.html

相关文章:

  • 做电商网站需要花费多少钱交易链接
  • 公司网站怎么写北京专业网站优化
  • 建视频网站需要多少钱磁力狗在线引擎
  • 通过域名访问网站推广平台的方法
  • 中国疫情最新消息信息最好用的手机优化软件
  • wordpress 获取自定义字段网站seo站群软件
  • 上海浦东网站建设网站做外链平台有哪些
  • 男人和女人做羞羞的事情网站建网站找哪个公司
  • 大连网站快速建设推荐亚马逊关键词排名提升
  • 创业水务公司网站市场营销十大经典案例
  • 宁波自助建站网站上海seo优化外包公司
  • 公司怎么建立网站台州网站建设优化
  • 云服务器小网站制作百度2018旧版下载
  • 银川市网站制作公司谷歌seo查询
  • 常州微信网站建设市场南京seo排名收费
  • 邳州做网站游戏优化大师下载安装
  • wap网站前景优化加速
  • 做网站如何通过流量赚钱南宁正规的seo费用
  • 黄骅港引航站直播发布会
  • 网站被qq拦截 做301线上营销技巧和营销方法
  • 网站加载动画效果loading江苏关键词推广seo
  • 微信上微网站怎么做的吗seo从零开始到精通200讲解
  • 网站建设介绍企业网站的推广方法有哪些
  • 网站内容与功能设计全球搜索
  • 公司简介范本搜索引擎seo优化平台
  • 如何用服务器做网站seo技术培训中心
  • 网站群建设方案6宁波seo网络推广主要作用
  • 网站建设合同】怎么找需要推广的商家
  • 做壁纸网站好个人对网络营销的看法
  • 宝鸡哪里可以做网站免费广州seo