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

培训网站制作网站最新新闻

培训网站制作网站,最新新闻,wordpress分享服务器目录,微网站建设报价这里写自定义目录标题 ListDIctionary List MyList类:这是一个泛型类,能够存储任意类型的元素。 _items数组:用于实际存储元素。 _size变量:记录当前列表中的元素数量。 构造函数:初始化数组容量为 4。 Count属性&…

这里写自定义目录标题

      • List
      • DIctionary

List

MyList类:这是一个泛型类,能够存储任意类型的元素。
_items数组:用于实际存储元素。
_size变量:记录当前列表中的元素数量。
构造函数:初始化数组容量为 4。
Count属性:获取列表中的元素数量。
索引器this[int index]:用于访问列表中的元素。
Add方法:向列表中添加元素,若数组容量不足,会调用EnsureCapacity方法来扩容。
EnsureCapacity方法:确保数组容量足够,若不足则将数组容量扩大为原来的 2 倍。

using System;// 自定义列表类
public class MyList<T>
{private T[] _items;private int _size;// 构造函数,初始化数组容量public MyList(){_items = new T[4];_size = 0;}// 获取列表中的元素数量public int Count{get { return _size; }}// 索引器,用于访问列表中的元素public T this[int index]{get{if (index < 0 || index >= _size){throw new IndexOutOfRangeException();}return _items[index];}set{if (index < 0 || index >= _size){throw new IndexOutOfRangeException();}_items[index] = value;}}// 向列表中添加元素public void Add(T item){if (_size == _items.Length){EnsureCapacity(_size + 1);}_items[_size++] = item;}// 确保数组容量足够private void EnsureCapacity(int min){if (_items.Length < min){int newCapacity = _items.Length == 0 ? 4 : _items.Length * 2;if (newCapacity < min){newCapacity = min;}Array.Resize(ref _items, newCapacity);}}
}class Program
{static void Main(){// 创建自定义列表实例MyList<int> myList = new MyList<int>();// 添加元素myList.Add(1);myList.Add(2);myList.Add(3);// 访问元素for (int i = 0; i < myList.Count; i++){Console.WriteLine(myList[i]);}}
}    

DIctionary

MyDictionary<TKey, TValue>类:这是一个泛型类,可存储任意类型的键值对。
Entry结构体:用于存储单个键值对,包含键的哈希码、键和值。
_entries数组:实际存储键值对的数组。
_count变量:记录当前字典中的键值对数量。
构造函数:初始化数组容量为 InitialCapacity(这里设为 4)。
Count属性:获取字典中的键值对数量。
索引器this[TKey key]:用于根据键获取或设置值。
TryGetValue方法:尝试根据键获取值,如果找到则返回 true 并将值赋给输出参数 value,否则返回 false。
Add方法:向字典中添加键值对,如果键已存在则抛出异常。
Insert方法:插入键值对,会检查键是否已存在,若已存在且 add 参数为 true 则抛出异常,否则更新值。
EnsureCapacity方法:确保数组容量足够,若不足则将数组容量扩大为原来的 2 倍。

using System;// 自定义字典类
public class MyDictionary<TKey, TValue>
{private const int InitialCapacity = 4;private Entry[] _entries;private int _count;// 内部存储的键值对结构private struct Entry{public int HashCode;public TKey Key;public TValue Value;}// 构造函数,初始化数组容量public MyDictionary(){_entries = new Entry[InitialCapacity];_count = 0;}// 获取字典中的键值对数量public int Count{get { return _count; }}// 索引器,用于根据键获取或设置值public TValue this[TKey key]{get{if (TryGetValue(key, out TValue value)){return value;}throw new KeyNotFoundException();}set{Insert(key, value, false);}}// 尝试根据键获取值public bool TryGetValue(TKey key, out TValue value){for (int i = 0; i < _count; i++){if (Equals(_entries[i].Key, key)){value = _entries[i].Value;return true;}}value = default(TValue);return false;}// 添加键值对public void Add(TKey key, TValue value){Insert(key, value, true);}// 插入键值对private void Insert(TKey key, TValue value, bool add){if (_count == _entries.Length){EnsureCapacity(_count + 1);}int hashCode = key.GetHashCode();for (int i = 0; i < _count; i++){if (_entries[i].HashCode == hashCode && Equals(_entries[i].Key, key)){if (add){throw new ArgumentException("An item with the same key has already been added.");}_entries[i].Value = value;return;}}_entries[_count].HashCode = hashCode;_entries[_count].Key = key;_entries[_count].Value = value;_count++;}// 确保数组容量足够private void EnsureCapacity(int min){if (_entries.Length < min){int newCapacity = _entries.Length == 0 ? InitialCapacity : _entries.Length * 2;if (newCapacity < min){newCapacity = min;}Array.Resize(ref _entries, newCapacity);}}
}class Program
{static void Main(){// 创建自定义字典实例MyDictionary<string, int> myDictionary = new MyDictionary<string, int>();// 添加键值对myDictionary.Add("apple", 1);myDictionary.Add("banana", 2);myDictionary.Add("cherry", 3);// 根据键获取值int value;if (myDictionary.TryGetValue("banana", out value)){Console.WriteLine($"The value of 'banana' is: {value}");}// 使用索引器设置值myDictionary["apple"] = 5;Console.WriteLine($"The new value of 'apple' is: {myDictionary["apple"]}");}
}    
http://www.dtcms.com/wzjs/41997.html

相关文章:

  • 检测网站是否被墙营销与销售的区别
  • wordpress运行php文件点击seo软件
  • 能源建设网站百度seo软件曝光行者seo
  • 用wordpress做网站许昌seo推广
  • Divi WordPress企业建站主题网络营销模式案例
  • 微网站与微信公众号做推广怎么做
  • 深圳高端集团网站建设公司房产网站建设
  • 深圳网站设计服务商上海网站设计
  • 河东做网站外贸网站平台哪个好
  • 彩票网站建设成本网络优化是做啥的
  • 域名备案个人网站名称企业软文代写
  • 茶叶网站建设一般的风格广西南宁市有公司网站设计
  • 四川省住房和城乡建设厅官网站网seo优化的网站
  • 新闻类网站备案 100万网络销售是干嘛的
  • html简单的旅游网页湖南企业竞价优化公司
  • 网站免费推广方式上海网站seo策划
  • 常州做网站要多少钱一站式自媒体服务平台
  • 注册网页代码seo排名策略
  • 公司网站建设中恒建设集团有限公司在哪里做推广效果好
  • 网站设计建设 武汉重庆网站搜索排名
  • 天津网站建设技术中视频自媒体平台注册
  • o2o网站建设技术搜索引擎优化seo价位
  • 建设网站的工作步骤手机网页制作软件
  • 游戏攻略网站怎么做app开发费用
  • 专业网站制作 广州番禺百度开放云平台
  • 盐城市建设工程网站百度下载app下载
  • 沂源手机网站建设公司百度快照手机入口
  • 企业网络营销的意义seo的搜索排名影响因素主要有
  • 怎么让网站绑定域名网站开发用什么语言
  • 如何做简洁网站app推广公司怎么对接业务