C#基础之操作优化实例教程

对数据的查询,删除等基本操作是任何编程语言都会涉及到的基础,因此,研究了一下c#中比较常用的数据操作类型,并顺手做个笔记.

List查询时,若是处理比较大的数据则使用HashSet类,因为List是基于线性表操作的.但其内嵌了二分查找(BinarySearch),因此,也可以在存储完之后进行排序,随后用二分查找.不过也可以这样设计:Dictionary>利用Dictionary高效的搜索查询能力来搜索List对象.但是数据却是使用List存储.

HashSet是一个不包含重复类型的集合类.此集合基于散列值,其操作都是很快的.相比较HashTable,此集合类只包含一个类型参数,不是基于键值对来存储寻找元素的.若是需要确定元素是否存在,只需要调用Contains()方法即可.
 List 查找复杂度 O(n), HashSet 查找复杂度O (1)

Dictionary类的删除添加操作:
默认情况不排序下,添加了元素的位置是在删除元素的位置.
若是排序,添加了元素的位置依旧会是在未排序之前的元素位置.

 C#基础之操作优化实例教程

static void Main(string[] args)        {            Dictionary _dic = new Dictionary();            _dic.Add(3, 3);            _dic.Add(1, 1);            _dic.Add(2, 2);            _dic.Add(6, 6);            Console.WriteLine("未经排序:");foreach (var k in _dic)            {                Console.WriteLine(k.Key + "   " + k.Value);            }var dic_sort = from dic in _dic orderby dic.Key select dic;            Console.WriteLine("未经处理:");foreach (var k in dic_sort)            {                Console.WriteLine(k.Key + "   " + k.Value);            }            Console.WriteLine("经过删除添加处理:");            _dic.Remove(2);            _dic.Add(4, 4);foreach (var k in _dic)            {                Console.WriteLine(k.Key + "   " + k.Value);            }            Console.Read();        }

登录后复制

你也可以自己测试下…

 

以上就是C#基础之操作优化实例教程的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2440074.html

(0)
上一篇 2025年3月3日 12:18:36
下一篇 2025年2月18日 08:14:10

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • 分享一个IoC入门教程实例

    spring.net包括控制反转(ioc) 和面向切面(aop),这篇文章主要说下ioc方面的入门。 一、首先建立一个MVC项目名称叫SpringDemo,然后用NuGet下载spring(我用的是Spring.Net NHibernate…

    2025年3月3日
    200
  • C#串口通信的实例教程

    因为参加一个小项目,需要对继电器进行串口控制,所以这两天学习了基本的串口编程。同事那边有java的串口通信包,不过是从网上下载的,比较零乱,难以准确掌握串口通信的流程和内含。因此,个人通过学习网上大牛的方法,利用c#实现了基本的串口通信编程…

    2025年3月3日
    200
  • C#中在构造函数中访问虚成员有什么问题?

    如果在一个类中定义了虚属性或者虚方法,又在构造函数中访问了这个虚属性或方法,此时VisualStudio是不会给出警告,并且编译也没有问题,但是如果安装了Resharper插件则会给出警告提示:“在构造函数中访问了虚成员”,那么,这为何是一…

    2025年3月3日
    200
  • 详解可选参数和命名参数实例

    9.1 可选参数和命名参数     class Program    {        private static int s_n = 0;        private static void M(int x = 9, string s…

    编程技术 2025年3月3日
    200
  • C# 中GUID生成格式有哪些方法

    1、guid是在system命名空间下的结构(struct)体,下面展示实例。 (1)创建一个guid帮助类(guidhelper) using System;using System.Collections.Generic;using S…

    编程技术 2025年3月3日
    200
  • C#集合类有哪些?

    arraylist 集合类   Remove方法从Arraylist中移除一个元素,Arraylist重新排序,Remove(value)、RemoveAt(index)   Add(value)在Arraylist尾部加入值   Inse…

    编程技术 2025年3月3日
    200
  • 什么是Less?koala配置及使用

     一、什么是less     css的Less好比是js的Jquery,可以让人们更方遍快捷的使用css,使css代码更简洁,可以减少重复的代码,减少开发人员的工作量。   Less CSS是一种动态样式语言,属于CSS预处理语言的一种,它…

    2025年3月3日 编程技术
    200
  • 详细介绍一个.net开源权限管理系统

    源码地址: 一、更新记录1、更新日期:2017-02-24 00:00:002、更新内容: 版本升级:V2.0  1、支持多数据库,可在实体类指定具体操作数据库,可实现系统分库操作  2、重新整理架构,前端采用require.js进行模块化…

    2025年3月3日 编程技术
    200
  • 分享在C#中时间戳是怎么转换的?

    时间戳转datetime timestamp为10位秒级* 10000000,若为13位毫秒级*10000。 private DateTime TimestampToDateTime(long timestamp) {     DateTi…

    编程技术 2025年3月3日
    200
  • 总结一些编码和设计原则实例

    本章介绍了本书其它部分未涉及到的一些编码和设计原则。包含了一些.net的应用场景,有些不会造成太大危害,有些则会造成明显的问题。剩下的则根据你的使用方法会产生不同的效果。如果要对本章节出现的原则做一个总结,那就是: 过度的优化会影响代码的抽…

    编程技术 2025年3月3日
    200

发表回复

登录后才能评论