摘要: 通过Type对象可以获取类中所有的公有成员 直接贴代码: class MyClass { private string name; private int id; public string city; public int number; public string yifu { get;priv 阅读全文
posted @ 2020-06-14 16:07 穷在闹市 阅读(675) 评论(0) 推荐(0)
摘要: 原因:当出现可访问性不一致时,说明其中一个方法是返回参数的访问级别小于函数的访问级别。当你在一个访问性比较强(例如公共)的字段/属性/方法里使用自定义类型,而这个类型访问性比较低(例如保护/私有)的时候就发生这个问题了 解决方法:返回类型和方法的形参表中引用的各个类型必须至少具有和方法本身相同的可访 阅读全文
posted @ 2020-06-14 16:05 穷在闹市 阅读(3036) 评论(0) 推荐(0)
摘要: 在学习数据在内存中的存储方式时突然想到这个问题,在查阅了资料后有点大概的思路,但是网上还是有看到不同的答案,如这里的回答:https://q.cnblogs.com/q/35325/ 目前先把自己的感悟写下来吧,以后懂了再更新。 这里写段小代码跑一下做示例: string s = "hello wo 阅读全文
posted @ 2020-06-14 16:03 穷在闹市 阅读(3217) 评论(0) 推荐(0)
摘要: string作为最常用的类型,在实际项目中会有大量的字符串操作,这样会带来大量的字符串创建,内存分配、回收,进而影响性能。因此CLR对于string进行了特殊的优化,CLR中存在“字符串暂存池”概念。那么CLR 如何做到的呢?在CLR初始化时创建一个内部的哈希表,这个表相当于一个字典表,键就是字符串 阅读全文
posted @ 2020-06-14 15:57 穷在闹市 阅读(1277) 评论(0) 推荐(0)
摘要: 对于值类型,两者比较的都是内容是否相同。 对于引用类型,Equals比较的是变量的内容是否相同,而= =比较的则是引用地址是否相同 比如自写的类,如果有两个对象内的成员变量值相同,这两个对象进行Equals也会返回false,可以简单理解为他们的内存地址不同,所以在使用哈希表或者字典时需要重写 (图 阅读全文
posted @ 2020-06-14 15:52 穷在闹市 阅读(273) 评论(0) 推荐(0)