随笔分类 - C#和.Net
摘要:对象属性和字段拷贝的几种方式 微软提供了浅拷贝 对于值类型,修改拷贝的值不会影响源对象 对于引用类型,修改拷贝后的值会影响源对象,但string特殊,它会拷贝一个副本,互相不会影响 自己实现深拷贝,我了解到的有这几种方法 硬核编码,每一个属性和字段都写一遍赋值,这种方法运行速度最快 通过反射,最常见
阅读全文
摘要:有个同事问我为什么他的vs编写C#代码,对于引用System.dll中的方法,鼠标移上去没有方法的使用说明或接口注释,具体可以看下面的截图,而我绝大多数情况下是使用Rider开发,并没有遇到这个问题,本文通过实践找到原因。 我的环境:vs2017 企业版本 ,vs2019企业版本 ,rider 20
阅读全文
摘要:c#去掉小数点后的无效0 ,保留指定位数的小数,比如10.0显示成10,小数部分会四舍五入 float value = 0.0500f; value.ToString("0.##");//保留两位小数输出0.05 var percent = ((float) 100/(float)100).ToSt
阅读全文
摘要:C List.Sort函数的返回值 | 值 | 含义 | | | | | 小于零 | left在right的前面 | | 零 | 位置不变 | | 大于零 | right在left的前面 | 示例: 本测试结果在unity3d 和纯C 环境下执行。 从小到大排序的返回值写法 从大到小排序的返回值写法
阅读全文
摘要:在进行svn或者git提交时,可以忽略nuget下载的文件,因为这些依赖库可以再次通过VS下载下来,当然也可以提交上去,这样其它同学就无需再下载。 vs自动下载缺失的nuget包 1、打开 工具 - 选项 – NuGet 包管理器 - 常规 2、在程序包还原,勾选“允许NuGet下载缺少的程序包”和
阅读全文
摘要:遇到问题 在做编辑器开发时,需要在Unity Editor下直接读取Excel源文件,首先想到的是通过npoi去读取,但是遇到无法读取xlsx格式,只能读取xls格式的问题。 我的环境 unity 2018.3.6f1 npoi 2.4.1 xlsx指excel 2007格式 ,xls指excel2
阅读全文
摘要:前言 解析Excel有知名的NPOI库,(Java语言是POI),但是NPOI是不支持解析csv的。 csv本质上也是文本文件,可以进行差异对比,更利于解决冲突。 本文对解析csv的几个.net的开源库进行调研 很小巧简单的库:https://github.com/stevehansen/csv/
阅读全文
摘要:前言 文档:http://npoi.codeplex.com/documentation 示例:https://npoi.svn.codeplex.com/svn/ 下载:https://www.nuget.org/packages/NPOI/ 版本:2.2.1 (通过nuget进行安装的) 应用场
阅读全文
摘要:项目情况 本文接上篇TableML Excel编译/解析工具,本文主要介绍GUI工具的使用,及配置项,如果你想了解此工具更加详细的说明,请阅读上篇文章。 项目地址:https://github.com/zhaoqingqing/TableML 项目介绍和更新日志 项目介绍 TableML, Tabl
阅读全文
摘要:TableML TableML, Table Markup Language, 基于电子表格的标记语言, 类似JSON, XML, INI,TableML可以作为软件项目的配置标记语言, 与之不同的是,您可以使用Excel等电子表格编辑软件来配置TableML,自由地添加图标、注释、VB脚本和预编译
阅读全文
摘要:介绍 此ini解析库适用于mono(unity3d),donet,大小在30kb左右。 开源免费:https://github.com/rickyah/ini-parser 使用示例 engine_config.ini 配置文件内容如下 使用方法如下 注意事项 IniDataParser.Parse
阅读全文
摘要:简介 RoslynPad是一个Apache 2.0协议开源的轻量级C#编辑器。支持自动完成,语法提示,修改建议等功能。很适合平时随手写个C#程序看看运行结果。 目前版本:0.10.1,无需保存也可以运行得到结果(F5运行),可导出dll文件,集成了nuget。 官网:https://roslynpa
阅读全文
摘要:需求分析 ”null exception“很见的一种异常,但在某些情况下却会引起严重的bug! 本文目的就是对代码进行null 的检查,避免不应该出现的Error。 本文借助reshaper,全局检测项目中所有可能出现的null exception 关于resharper的知识:http://zzk
阅读全文
摘要:前言 开发环境 客户端:Unity3D开发(C#) 服务器:Java (基于Java7) 日 期:2016年09月 需求说明 部分服务器的部分逻辑功能在客户端实现一遍,可以简单的理解为服务器的部分逻辑代码搬到客户端来实现一遍。 想到的办法是代码转换。有两个原因: 时间问题,把时间用在更有意义的事情上
阅读全文
摘要:加密环境 引擎版本:Unity3D 5.3.4 及更高版本 (使用Mono而并非IL2CPP) 操作系统:CentOS 6.2(Final) 加密环境:Android、IOS(暂定) 加密对象:C#源代码(dll文件) 解密方法:libmono.so (重点:加入解密算法并重编译此文件) 加密的目地
阅读全文
摘要:需求分析 功能要求 当玩家使用不支持 unity webplayer 的浏览器进入游戏时,让玩家通过微端玩游戏。 确保微端的功能和页游戏功能一致。 大体功能就是为unity web game开发微端,注:本文的微端做法也可适用于其它引擎的游戏项目。 运行环境 操作系统:Windows XP/7/8/
阅读全文
摘要:本文旨在科普安全相关的知识,并附一个C#实现的文件管理工具。 Hash 安全散列算法(英语:Secure Hash Algorithm,缩写为SHA)是一个密码散列函数家族,是FIPS所认证的五种安全散列算法。能计算出一个数字消息所对应到的,长度固定的字符串(又称消息摘要)的算法。且若输入的消息不同,它们对应到不同字符串的概率很高。这些算法之所以称作“安全”是基于以下两点(根据官方标准的描述): ...
阅读全文
摘要:前言 写这篇文章的目地是为了让更多的小伙伴对VS生成的工程有一个清晰的认识。在开发过程中,为了赶进度,并不是每个人都有学习的时间。 但如果上层项目管理人员对这些工程目录不熟悉的话,把VS编译的中间文件也提库到SVN,那么其它同事在提代码时,就会发现有N多文件被修改了,其实有些目录及文件是没必要进行版
阅读全文
摘要:适用范围 本文方法适用于:C#创建的控制台程序,WinForm,WPF等VS创建的.Net工程信息设置。 方法步骤 1、在 项目 上点击鼠标右键选择 属性 ,进入这个页面,点击 程序集信息(重点关注 目标框架 和 程序集信息) 2、在打开 程序集信息 窗口中就是设置工程生成的exe或dll文件的属性信息 程序集信息 在资源管理器中当鼠标停留在某个文件上会有提示信息 右键 - 属性 - 文件...
阅读全文
摘要:MSDN的File类 File类在MSDN:https://msdn.microsoft.com/zh-cn/library/system.io.file_methods(v=vs.110).aspx FileHelper.cs FileHelper提供的功能: File类实用方法 获取父目录 读取
阅读全文