自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 收藏
  • 关注

原创 c#中dynamic动态类型与静态成员函数

看《CLR via C#》中动态类型相关内容时,我想到了一个有意思任务:需要实现一个函数DynamicCallStaticMethod,包含四个参数:(dynamic a, dynamic b, Type t, string MethodName),目的是调用t对应的类型的静态成员函数MethodName,并将动态类型a与b作为这个静态成员函数的参数。例如,假设我定义了某个类型SomeClass,其中包含静态成员函数“Concat",那么我希望在DynamicCallStaticMeghod中调用Som

2021-03-23 16:36:29 622

原创 通过反汇编技术解析c#值对象装箱与拆箱的几个例子例子

本节内容主要来自“CLR via C”第5.3小节。本文用来研究装箱与拆箱过程的c#代码如下:using System;namespace ConsoleApp18{ internal struct Point: IComparable { private Int32 m_x, m_y; public Point(Int32 x, Int32 y) { m_x = x; m_y =

2021-03-22 20:57:15 304

原创 Visual Studio使用ILDasm反汇编工具查看托管模块

写好代码并编译运行成功后,在Visual Studio中点击 “工具-> 命令行-> 开发者命令提示"在出现的命令行界面中输入"ildasm",打开反汇编器工具在上图的IL DASM界面中,选择"文件->打开",选择刚才项目代码中编译生成的dll文件,比如我的路径是F:\code\ConsoleApp16\bin\Debug\netcoreapp3.1\ConsoleApp16.dll。打开后便可以看到最终生成的托管模块详情。双击其中某一项,可以查看IL代码:

2021-03-19 14:10:58 720 2

原创 实现LINQ to SQL(下) ——通过visual studio2019创建项目

最近读完了《深入理解c#》,总的来说有些囫囵吞枣,于是决定把其中几个我觉得十分新颖但从前没用过的内容动手实现以下。其中我最有兴趣的就是LINQ to SQL,但《深入理解c#》这本书主要将c#的一些特性,没有具体的操作步骤。虽然书籍配套网站上包含了一些代码,反正LINQ相关章节的代码我没理清,于是我决定写几篇博客,来详细的讲解如何使用LINQ to SQL机制。在刚开始试着使用LINQ to SQL时,我发现面临两个问题: 没有数据库以及不知道怎么创建项目(以及都需要那些程序库)。我的上一篇博文已经提供

2021-03-09 18:24:08 1836

原创 《深入理解c#》第十一章中LINQ查询表达式总结

《深入理解c#》第十一章介绍了查询表达式的基本语法以及Linq to SQL中各种常见操作。虽然我有一定的SQL基础,但初次接触查询表达式还是难免容易有遗忘、混淆,这里把书中这一章出现过的查询表达式在这里整理一下:# 11.2.1var query = from user in SampleData.AllUser select user;# equals to:query = SampleData.AllUser.select(user=> user);# 11.2.3IEnum

2021-03-05 18:22:53 308 1

原创 搞懂c#中的协变与逆变(针对泛型委托)

最近花一周时间阅读了《c#图解教程》的前20章,由于有一定语言基础且这本书讲解的十分通俗易懂,大部分章节都看一遍就懂了。唯独18章最后的18.10节第一遍没有看明白,反复读了两遍这一节内容后,我终于明白了c#中的协变与逆变的概念。下面讲一讲我的理解,尽量通俗易懂的为初学者解释清楚。如果你已经看懂了《c#图解教程》第18章18.10节,那没必要再继续看了。但如果看书觉得云里雾里,或是c#初学者想弄懂这两个概念,不妨读一读此文。我的经验是,看文字对于协变和逆变的说明很容易一头雾水,最好是先看懂两段代码分

2021-01-07 21:14:56 590

原创 c#中的泛型枚举接口实例

阅读《c# in depth》的过程中,发现自己c#语言基础不够扎实,决定快速阅读一下《c#图解教程》。最近读到第19章学习泛型接口时,原本打算写一个简单的例子,结果搞了半天才成功。我想很多读者,尤其是C#初学者也会有这个困扰,把这个我写的简单例子给大家分享一下吧。 class ColorsTemplateEnumerator<T>: IEnumerator<T> { T[] colorsList; int position

2021-01-06 16:07:21 844 1

原创 GoF设计模式读后感——软件开发实习生的视角

今年夏天在某大厂实习了三个月,在实习项目的开发中发现自己不能很好的管理一个代码量很大的项目,于是决定有时间读一读《设计模式》。最近花了正好一个月读完了此书,在此写个读后感同时说一些自己的拙见。下文内容有很多个人观点,如果有考虑不周全、理解有误的地方,还请各位读者谅解。如果某些问题上你和我的观点不同,那您千万别以我为准,毕竟我只是个实习生,初级的软件开发工程师也不能算。 GoF设计模式需要的阅读基础:这本书讲的是面向对象程序开发中的一些设计模式,讲的是”设计模式“,而不是”面向...

2020-11-25 18:43:48 142 2

原创 学习TensorFlow笔记-2

卷积神经网络部分(基本来自《Tensorflow:实战Google深度学习框架》第六章):tf.nn.bias_add(conv, biases)****.get_shape().as_list()      得到tensorflow张量的维度列表tf.nn.dropout(fc1, 0.5)tf.constant_initializer(0.1)slim = tf.contr...

2019-01-23 16:28:10 178

原创 学习TensorFlow笔记-1

阅读《TensorFlow 实战Google深度学习框架》笔记 ch2~ch4tf.get_default_graph()   : 获取默认的计算图a.graph : 查看张量a所属的计算图a.as_default() :设置a为默认计算图tf.Graph() : 生成新计算图tf.Graph.device()   例:with g.device('/gpu:0')(注意p...

2019-01-10 23:53:02 158

原创 《汇编语言》课程设计1

最近在学习王爽老师的《汇编语言》,感觉十分有意思。花了一个下午做了第十章的课程设计1,对于汇编语言新手来说还是有点难的。下面把代码贴出来吧。一共200多行,感觉有些地方写麻烦了,还可以更灵活的应用循环assume cs:codesgdata segment db '1975','1976','1977','1978','1979','1980','1981','1982','1983' db...

2018-04-25 19:47:30 4106 1

原创 OJ练习中的注意事项

       最近准备研究生复试,在OJ练习编程。因为准备考研一年时间几乎没怎么写程序,另一方面以前也只是稍稍接触过一点OJ编程,所以总会遇到很多问题,在这里总结整理一下。估计也没人关注我的博客,主要是整理给自己看吧。1.C++中的cin、cout貌似速度比C语言的scanf、printf慢,碰到过一道题把cin、cout换掉就好了2.使用STL:         使用STL中sort时,注意比较...

2018-02-05 21:31:42 1808

原创 《形式语言与自动机原理》(即《计算理论导引》)如何实践运用

点开这篇博文的人应该大多学过或在学《形式语言与自动机原理》这门课,有时候称为《计算理论导引》,这篇博文的目的是给迷茫的学弟学妹指明这门课的实践运用之路。如果你们学校这门课有实验课或是期末写论文的话,本文也能给出一个不错的题材。      我是一名211高校大四学生,专业是信息与计算科学(数学类),目前在等待研究生初试成绩同时也在看《编译原理》。可能由于我是偏向计算机的数学专业,所以本科课程有开

2018-01-21 21:29:49 1502

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除