唯音
码龄13年
关注
提问 私信
  • 博客:61,332
    61,332
    总访问量
  • 25
    原创
  • 863,839
    排名
  • 5
    粉丝
  • 0
    铁粉

个人简介:IT小码农

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:四川省
  • 加入CSDN时间: 2012-05-17
博客简介:

ukulele-gitara的专栏

查看详细资料
个人成就
  • 获得15次点赞
  • 内容获得1次评论
  • 获得72次收藏
创作历程
  • 1篇
    2020年
  • 7篇
    2019年
  • 3篇
    2018年
  • 1篇
    2017年
  • 12篇
    2016年
  • 4篇
    2014年
  • 10篇
    2013年
  • 1篇
    2012年
成就勋章
TA的专栏
  • php
    4篇
  • MVC
  • 优化
    1篇
  • 云计算
    1篇
  • linux
    4篇
  • javascript&jquery
    1篇
  • asp.net
    2篇
  • openstack
  • sql server
    1篇
  • 大话数据结构系列
    7篇
  • java
    2篇
  • 面试复习&&java
    3篇
  • C#
    7篇
  • XML
    1篇
  • 面向对象
    1篇
  • github
兴趣领域 设置
  • 微软技术
    c#.netasp.net
创作活动更多

如何做好一份技术文档?

无论你是技术大神还是初涉此领域的新手,都欢迎分享你的宝贵经验、独到见解与创新方法,为技术传播之路点亮明灯!

357人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

C# 反射实现对只读属性进行赋值操作

需求概述现用户提出这样个需求,其拿到一个只读属性值(只有get方法,没有set),如何强行修改这个属性的值呢?这里的属性可以是单值,常见的string,float,double etc,可以是List 对象集合属性。需求实例现对Product下的Id属性和Detail属性值进行修改。根据对于属性原来的值和属性值类型其存在两种情况:1 属性值为空时,单值、List集合操作为均为append追加操作;2 属性值不为空,操作分两种:对于单值,进行modify操作;对于多值,需要定...
原创
发布博客 2020.05.13 ·
3489 阅读 ·
1 点赞 ·
0 评论 ·
7 收藏

C#高级编程之比较对象的相等性

目录背景介绍:比较引用类型的相等性:1.比较运算符(==):2.ReferenceEquals()方法:3.Equal()虚方法和静态Equals()方法:2.比较值类型的相等性。总结:背景介绍:对象相等机制有所不同,这取决于比较的是引用类型(类的实例)还是值类型(基本数据类型、结构或枚举的实例)。在讲解值类型跟引用类型相等性之前。有必要介绍一张图。...
原创
发布博客 2019.06.26 ·
480 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

如何在C#代码中调用C++函数 (一)

目录背景介绍:C++工程项目封装为DLL库:具体调用:常见错误:参考资料:背景介绍:.NET平台下的互操作有三种方式:平台调用,C++ Interop和COM Interop。平台调用:平台调用服务(英语:Platform Invocation Services),或称P/Invoke,通常指微软的公共语言运行时提供的跨平台调用方式。平台调用服务是公共语言基...
原创
发布博客 2019.06.20 ·
10714 阅读 ·
9 点赞 ·
1 评论 ·
54 收藏

C#高级编程之托管资源与非托管资源

目录参考资料:托管资源与非托管资源:垃圾回收机制简介:非托管资源的释放:参考资料:https://www.cnblogs.com/wangshenhe/archive/2012/08/02/2619467.htmlhttps://www.cnblogs.com/wangshenhe/archive/2012/08/02/2619467.html托管资源与非托管...
转载
发布博客 2019.06.19 ·
202 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

C#高级编程之ref,out参数的使用

背景介绍:我们知道结构是值类型,类是引用类型。关于值类型以及引用类型在内存中的分配情况详情见博客:https://www.cnblogs.com/tonney/archive/2011/04/28/2032205.html在函数中进行按值传递结构体变量或是按引用传递类类型变量的时候。按值传递过程中形参得到堆栈中实参的一个副本,这个副本在函数执行完后被销毁,其不会影响实参的值改变。那如何通过...
原创
发布博客 2019.06.18 ·
629 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

C#高级编程之is as关键字

引入原因:在实际类型的判断和转换的时候,当接受不兼容的类型时,不想通过抛出异常来处理程序,可以采用其他的安全的方式进行处理。使用用途:is 运算符可以检查对象是否与特定的类型兼容,兼容意思是:对象是该指定的类型或者是该类型的派生类型【A is B】A是B的子类或者同类即为兼容。as运算符用于执行引用类型的显示类型转换。如果要转换的类型与指定的类型兼容,转换就会成功进行;若...
原创
发布博客 2019.06.18 ·
250 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

IEnumerable详解

https://blog.csdn.net/weixin_42339460/article/details/80733758
转载
发布博客 2019.05.07 ·
18638 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

C#泛型集合自定义比较器实现排序

目录需求:根据自定义的类中字段实现自定义的排序规则。解决方案:实现:方法一:该自定义类实现IComparable接口。方法二:创建比较器类,该类实现接口IComparer方法三:实现内置Comparison委托总结:需求:根据自定义的类中字段实现自定义的排序规则。解决方案:1.public void Sort(); 使用默认比较器对整个 Sys...
原创
发布博客 2019.03.15 ·
1215 阅读 ·
0 点赞 ·
0 评论 ·
6 收藏

OOP面向对象之OCP(开闭原则)

目录 含义:自我理解:利用简单工厂模式的实现方式:利用反射+配置文件的方式实现OCP:含义:软件实体(包括类、模块、功能等)应该对扩展开放,但是对修改关闭。自我理解:对扩展开发:需求有改动的时候,增加对应的独立拓展模块来实现需求。对修改关闭:不意味着不改变代码,而是在不改变原代码具体实现的逻辑下(具体说就是函数体内部逻辑),通过拓展的方式来重构实现。具体理解...
原创
发布博客 2018.12.11 ·
1056 阅读 ·
1 点赞 ·
0 评论 ·
2 收藏

VS2012下批量修改命名空间

需求:更改解决方案下所有某项目的命名空间步骤:1:ctrl 替换所有项目下的打算替换的空间2: 修改项目->属性->应用程序下的程序集名称和命名空间3:关闭项目文件,打开源代码,修改打算替换的文件夹名称4:用记事本打开.sln文件,替换掉:(本文是替换CVC_tool为main_tool)即可。Microsoft Visual Studio Solution File, Format ...
原创
发布博客 2018.04.10 ·
3453 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

XSD Schema 学习总结

XSD Schema 简介    定义:W3C的解释为XML Schema 是基于 XML 的 DTD 替代者。    作用:是定义 XML 文档的合法构建模块(通俗点讲是对xml文件进行指定约束,对xml文档结构做检查)(文档类型定义(DTD)可定义合法的XML文档构建模块。它使用一系列合法的元素来定义文档的结构。)为什么要使用 XML Schema?   *** 对数据类型的支持,通过对数据类...
原创
发布博客 2018.03.08 ·
961 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

C#中FileStream和StreamWriter/StreamReader的区别

FileStream对象表示在磁盘或网络路径上指向文件的流。这个类提供了在文件中读写字节的方法,但经常使用StreamReader或 StreamWriter执行这些功能。这是因为FileStream类操作的是字节和字节数组,而Stream类操作的是字符数据。这是这两种类的一个重要区别,如果你是准备读取byte数据的话,用StreamReader读取然后用 System.Text.Encodi
转载
发布博客 2017.10.27 ·
408 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

java Map及Map.Entry详解

Map是Java中的接口,Map.Entry是Map的一个内部接口。         Map提供了一些常用方法,如keySet()、entrySet()等方法,keySet()方法返回值是Map中key值的集合;entrySet()的返回值也是返回一个Set集合,此集合的类型为Map.Entry。         Map.Entry是Map声明的一个内部接口,此接口为泛型,定义为E
转载
发布博客 2016.08.27 ·
513 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

二路归并算法

http://blog.csdn.net/middlekingt/article/details/8446552
原创
发布博客 2016.07.15 ·
423 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

堆排序

堆排序与快速排序,归并排序一样都是时间复杂度为O(N*logN)的几种常见排序方法。学习堆排序前,先讲解下什么是数据结构中的二叉堆。二叉堆的定义二叉堆是完全二叉树或者是近似完全二叉树。二叉堆满足二个特性:1.父结点的键值总是大于或等于(小于或等于)任何一个子节点的键值。2.每个结点的左子树和右子树都是一个二叉堆(都是最大堆或最小堆)。当父结点的键值总
转载
发布博客 2016.07.14 ·
276 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

希尔排序

希尔排序思想:希尔排序是在插入排序的基础上进行改进的,通过每次减小间隔(每次其实也是在做插入排序)来进行排序优化直至间隔为1后进行最后一次的插入排序。这里间隔的最大值判断以及间隔后的每次的插入排序的移动间隔的更改比较重要。希尔排序间隔序列函数 h = h * 3+ 1//计算最大间隔 while(h < arr.length / 3) { h = h * 3 + 1;
原创
发布博客 2016.07.14 ·
343 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

快速排序

快速排序思想通过一趟排序将待排记录分隔成独立的两部分,其中一部分记录关键字均比另一部分的关键字小,则可分别对这两部分记录继续进行排序,以达到整个序列有序。
原创
发布博客 2016.07.10 ·
279 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

简单排序之直接插入排序

直接插入排序思想:    直接插入排序是将一个记录插入到已经排好序的有序表中,从而得到一个新的,记录数增1的有序表。(联想扑克牌游戏)排序的稳定性:    在排序过程中相同元素的前后顺序并没有改变,则可认为此排序为稳定排序,反之为不稳定排序。直接插入排序实现(java)搜索和数据后移二个步骤合并。即每次a[i]先和前面一个数据a[i-1]比较,如果a[i] > a[
原创
发布博客 2016.07.10 ·
306 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

简单排序之简单选择排序

简单选择排序思想:通过n-i次关键字间的比较,从n-i+1个记录中选出关键字最小的记录,并和第i(1排序的稳定性:在排序过程中相同元素的前后顺序并没有改变,则可认为此排序为稳定排序,反之为不稳定排序。简单选择排序实现:package simpleSorts;public class simpleChooseSort { static void Choos
原创
发布博客 2016.07.09 ·
308 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

简单排序之冒泡排序

内排序与外排序:   内排序是在排序的过程中,待排序的所有记录均存于内存中。外排序是由于排序的记录数过多,不能同时放置于内存,整个排序过程需要在内外存之间多次交换数据才能进行。此处主要介绍内排序。    内排序性能影响的三个指标:    1 时间性能:(内排主要进行比较和移动操作)    2 辅助空间(执行算法所需的其他存储空间)      3  算法的复杂性:按照排序过程中借
原创
发布博客 2016.07.09 ·
277 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏
加载更多