- 博客(43)
- 资源 (2)
- 收藏
- 关注
原创 ConcurrentDictionary<TKey,TValue> 等线程安全集合类
c#中使用的List<T>,Dictionary<TKey, TValue>等常用的集合,如果需要在多线程中有写操作,会线程不安全,需要加锁(lock),有时自己写的,可能会有性能问题或bug。c#中对这些集合类,都实现了相应的线程安全的集合。比如:ConcurrentBag<T> 表示对象的线程安全的无序集合。可以用来替换List<T>ConcurrentDictionary<TKey, TValue> 表示可由多个线程同时访问的键值对
2022-05-27 11:34:55
454
原创 Environment.CurrentDirectory和AppDomain.CurrentDomain.BaseDirectory使用心得
最近在封装写log基类,要获取exe所在目录或插件dll所在目录,总结如下:1:如果是插件dll,即是用软件的exe调用的插件,要获取dll的路径,需要用:System.Reflection.Assembly.GetExecutingAssembly().Location;2:获取当前exe的路径,原来用的是Environment.CurrentDirectory,发现如果通过cmd命令调用此exe,如果不是在此exe目录调用,而是通过.\aaa\xxx.exe调用时,获取的就不是exe的路径。
2022-04-25 11:33:24
604
原创 c#注释规范
公司代码整改,特将c#注释规范总结下:c#注释一般如下:1:单行注释,用//开始。//这是一个注释2:块注释,/**//*注释内容,可以随意换行*/3:XML注释方式(Extensible Markup Language 可扩展标记语言),///开始 /// <summary> ///这是一个加法求和方法 /// </summary> /// <param name="
2022-04-16 15:41:15
4561
原创 c#添加默认类注释模板
找到vs所使用的模板类:D:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\IDE\ItemTemplates\CSharp\Code\2052\Class找到Class.cs在class1.cs的头部加入注释模板using System;using System.Collections.Generic;$if$ ($targetframeworkversion$ >= 3.5)using
2022-04-16 15:07:06
999
原创 README.md文档编写
参考:README.md文档编写 - yeshenmeng - 博客园文章参考自:如何为开发项目编写规范的README文件(windows),此文详解 - 战争热诚 - 博客园 (cnblogs.com) 为什么要写这篇博客? 其实我是一个入坑已经半年的程序员,因为不是https://www.cnblogs.com/yeshenmeng/p/15380687.html...
2022-03-29 10:35:33
1045
原创 windows程序如何生成目录结构树?
电脑中打开cmd 在cmd中进入要生成目录结构的目录 输入:tree /f > list.txt 打开此文件,即可看到生成的目录结构树
2022-03-29 10:29:05
394
原创 float类型总结
float类型有效精度只有7位,所以尽量用double。可以参考下面这个地址,有详细的介绍https://blog.youkuaiyun.com/albertsh/article/details/92385277
2021-04-21 14:59:39
178
原创 C# FileSystemWatcher使用说明
1.常用的几个基本属性:(1) Path:设置要监视的目录的路径。(2) IncludeSubdirectories:设置是否级联监视指定路径中的子目录。(3) Filter:设置筛选字符串,用于确定在目录中监视哪些类型的文件。例子:“*.zip|*.rar”(4) NotifyFilter:设置文件的哪些属性的变动会触发Changed事件,同时监控多个属性变动可以按“或”组合。(默认值为 NotifyFilter.LastWrite | NotifyFilter.FileName ...
2021-03-20 15:43:03
377
原创 revit中空间和房间的定义与区别
参照revit帮助文档空间定义:将空间放置到建筑模型的所有区域中,以获得精确的热负荷和冷负荷分析。Revit使用空间构件维护该构件所在区域的相关信息。 “空间”中存储了能够影响项目的热负荷和冷负荷分析的多个参数的值。请务必在正压送风系统以及竖井、墙槽和小间隙空间中放置空间,建筑师通常不会在建筑模型中为这些空间指定房间构件。房间定义:房间是基于图元(例如,墙、楼板、屋顶和天...
2019-10-16 10:51:10
963
转载 epub格式电子书剖析 .
epub格式电子书遵循IDPF推出的OCF规范,OCF规范遵循ZIP压缩技术,即epub电子书本身就是一个ZIP文件,我们将epub格式电子书的后缀.epub修改为.zip后,可以通过解压缩软件(例如winrar、winzip)进行浏览或解压处理。一个未经加密处理的epub电子书以三个部分组成,其文件结构如下图所示: 1、文件:mimetype 每一本epub电子
2013-04-09 14:15:28
2039
原创 读取文件真实格式
获取文件的真实类型,参考下面代码。但不知为何,zip和office2007的文件获取到得一样。 private string CheckTrueFileName(string fileName) { System.IO.FileStream fs = new System.IO.FileStream(fileName, System.IO.Fi
2013-03-22 18:26:49
1510
原创 winform 关于comboBox控件的SelectedIndexChanged
问题:SelectedIndexChanged控件,初始加载的时候总会进去两次,SelectedValue 值总为System.Data.DataRowView。原因:最后才发现自己是先绑定数据源,后设置控件ValueMember和DisplayMember属性。解决办法:正确的做法是先设置这两个属性,后绑定数据源。
2013-03-11 12:13:40
2264
原创 PowerDesinger显示palette窗口
tools-->customize toolbars 选择palette工具-->自定义工具栏 选择palette
2013-01-18 14:25:47
890
原创 SQL Server 2008“阻止保存要求重新创建表的更改”
工具-〉选项-〉设计器-〉表设计器和数据库设计器 -> 阻止保存要求重新创建表的更改(右侧) 把钩去掉即可。
2012-11-12 21:42:58
463
原创 winform控件缩写
控件名称缩写Buttom按钮BtnCheckBox复选框ChkColumnHeader视图列表头ColComboBox组合框CboContextMenu快捷菜单CtmDataGrid数据网格控件D
2012-11-12 16:56:26
7317
原创 PowerDesigner显示或隐藏字段
1:全局所有表显示或隐藏字段时:在菜单栏选择 tools----Display Preferences 点击后打开,选择Content---Table, 可以勾选或者取消勾选相应的。可以显示(或不显示)所有的列,key列,列类型等。2:单个表显示或隐藏字段时:选中Table,右键“格式”->"Content"->勾上"Columns"(显示列) 勾上"Comment"(显示注释) 即可
2012-11-11 20:29:14
17602
转载 winform限制软件次数
1.创建注册表文件:打开记事本,输入一些内容:REGEDIT4[HKEY_CURRENT_USER/Software/MyRegDataApp]"UseTime"="10"保存为“RegData.reg”2.创建winform项目引用名称空间1using Microsoft.Win32 ;在Form中激活load事件,并添加代码1Re
2012-10-24 11:35:15
1702
转载 ASP.net弹出子窗体与关闭窗体技巧
ASP.net弹出子窗体与关闭窗体技巧首先,在pageload里写入以下代码:Response.Write("window.opener=null;window.close();");其次,在head里写下如下JS代码: cript">function openwin() { window.open ("Default.aspx"
2012-10-22 10:26:53
9351
原创 更新moss2010工作流审批状态
原moss项目是用moss2007+vs2008+QuickFlow开发工作流,实现审批状态改变的核心代码如下: 在task完成事件中SPListItem item = task.WorkflowProperties.Item; if (item.ModerationInformation.Status == SPModerationStatusType.Pending)
2012-07-23 16:55:15
1236
原创 iis7 网站服务器可以访问但客户端不能访问
原来是防火墙对端口的限制,解决方案如下:1、防火墙——>高级设置——>入站规则——>右边的新建规则——>端口——>选择TCP——>特定本地端口(填写你的端口 如4300)——>记得填写自记的网站名称以便于下面的“允许通过”——>下一步……完成。 2、防火墙——>允许程序或功能通过WINDOWS防火墙——>勾选你刚刚上面添加的网站名字——>继续勾选 Web管理服务(HTTP)——>确定
2012-07-05 17:14:00
11148
原创 win7(64)未在本地计算机上注册 Microsoft.Jet.OLEDB.4.0 提供程序
在网上查有两种解决方案:1:在对应的 IIS 应用程序池中,“设置应用程序池默认属性”/“常规”/”启用32位应用程序”,设置为 true。但我的项目时moss项目,会影响其他程序池,所以这种方式对我不适用。2:编译项目指定目标平台为x86就完了,不能用any cpu 生成->配置管理器->平台->点击Any Cpu选项卡->新建->新建平台->X86 问题解决。
2012-07-05 10:55:41
848
原创 asp.net 发布到iis
不管是那种发布方法, 第一件事情是让IIS能够支持asp.net程序, 默认IIS是不开器asp.net网站程序的支持的.在IIS中的"Web服务扩展"中, 确保"ASP.NET v2.0.50727"被启用. 其他的可以保持禁用状态.发布方法1:---直接复制到IIS目录发布目录中(C:\Inetpub\wwwroot)a. 将经过VS调试且运行正常的ASP.NET网站项目的文件夹复
2012-07-04 14:22:19
721
原创 SharePoint中用Response第一次导出Excel后所有页面按钮不起作用解决办法
查资料解决办法:1:在Page_Load中注册两行Javascript脚本OnClientClick=”_spFormOnSubmitCalled=false;”。this.ClientScript.RegisterClientScriptBlock(this.GetType(), “script”, script, true); 但在我的系统中貌似不起作用,我的是用户控件封装的W
2012-06-28 12:07:42
576
转载 C#读取配置文件详解
C#读取配置文件需要注意的一些问题:C#读取配置文件1.了解配置文件概述: 应用程序配置文件是标准的 XML 文件,XML 标记和属性是区分大小写的。它是可以按需要更改的,开发人员可以使用配置文件来更改设置,而不必重编译应用程序。配置文件的根节点是 configuration。我们经常访问的是appSettings,它是由.Net预定义配置节。我们经常使用的配置文件的架构是象下面的形
2012-06-14 11:07:40
845
原创 sqlserver存储过程实现Excel中npv和irr函数
/*************************/-- net present value-- npv = sum(cf(t)/(1+r)^t) for t=0 to n-- where cf(t) is the cash flow at time t-- and r is the discount rateif exists (select * from dbo.sysobjec
2012-06-06 18:02:40
4388
转载 当我们把CommandField转换为模版列时,默认的CommandArgument属性丢失了!!!
ASP.NET2.0中的GRIDVIEW控件在使用TemplateField中的LinkButton时如何在RowCommand事件中找到当前行index的方法 ASP.NET2.0中的GRIDVIEW控件真是非常奇怪,不知道MS是怎么考虑的,在GRIDVIEW里,行索引被放在了CommandArgument里面,而不是像DataGrid那样可以利用this.MyDataGrid.Data
2012-05-29 16:23:56
1251
原创 按ip排序
一个函数(将ip格式化为010.000.000.001的格式): CREATE FUNCTION dbo.f_1(@str varchar(8000),@c varchar(10)) RETURNS varchar(8000) AS BEGIN DECLARE @s varchar(8000),@ret varchar(8000)
2012-05-28 10:55:48
625
原创 sqlserver 递归查询
select * from UserInfo ;--所有数据with cte as(select * from UserInfo where UId='2'union allselect B.*from cte A ,UserInfo B where B.UFatherUserId = A.UId and A.UFatherUserId )select * fr
2012-05-22 11:51:47
1013
原创 动软代码生成器,出现”添加服务器配置失败,请检查是否有写入权限或文件是否存在“的错误的解决办法
动软代码生成器,出现”添加服务器配置失败,请检查是否有写入权限或文件是否存在“的错误的解决办法:找到安装动软的目录,如果装在C盘时,默认为C:\Program Files\Maticsoft\Codematic2,给此文件夹的安全属性中当前用户添加全部权限;或添加Everyone用户,给Everyone角色添加全部权限。
2012-05-10 16:38:19
24965
转载 Datatable行转列
c#转换类____行列转换,新增行(基于DataTable)using System;using System.Data;using System.Configuration;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebCo
2012-04-13 18:15:39
4261
原创 SqlServer分页
今天看到guguda2008博客中的关于sqlserver分页的分析,总结下分页吧use mastergoset nocount ongoset showplan_text ongo--2012的OFFSET分页方式select number from spt_valueswhere type='p'order by number offset 10 rows fetch
2012-03-21 15:47:40
400
转载 存储过程中使用事务
一、存储过程中使用事务的简单语法 在存储过程中使用事务时非常重要的,使用数据可以保持数据的关联完整性,在Sql server存储过程中使用事务也很简单,用一个例子来说明它的语法格式:代码Create Procedure MyProcedure
2011-10-14 10:50:08
480
转载 asp.net弹出框总结
我们在.NET程序的开发过程中,常常需要和用户进行信息交互,比如执行某项操作是否成功,“确定”还是“取消”,以及选择“确定”或“取消”后是否需要跳转到某个页面等,下面是本人对常用对话框使用的小结,希望对大家有所帮助,同时也欢迎大家补充。 (1) 点击页面上的
2011-10-13 14:53:32
2521
原创 关于c#中的问号
一个问号---用于给变量设初值的时候,给变量(int类型)赋值为null,而不是0!两个问号---用于判断并赋值,先判断当前变量是否为null,如果是就可以赋一个新值,否则跳过!比如: public int? para;//public in
2011-08-01 13:02:19
516
原创 快捷键大全
<br />F1帮助 <br /> F2改名 <br /> F3搜索 <br /> F4地址 <br /> F5刷新 <br /> F6切换 <br /> F10菜单 <br /> CTRL+A全选 <br /> CTRL+C复制 <br /> CTRL+X剪切 <br />
2011-05-05 11:09:00
718
1
转载 马赛克效果
<br /> /// <summary> /// 马赛克效果 ///原理:确定图像的随机位置点和确定马赛克块的大小,然后马赛克块图像覆盖随机点即可. /// </summary> /// <param name="m_Iimage"></param> /// <param name="val">分割成val*val像素的小区块</param> public Image MaSaiKe(I
2011-04-12 09:24:00
503
原创 c#实现通过出生日期计算岁,月,天
///通过生日和当前日期计算岁,月,天 /// ///生日 ///当前日期 ///岁 ///月 ///天 privatevoid GetAgeByBirthday(DateTime birthday, DateTime now,outint year,outint month, outint day) { //生日的年,月,日 int
2010-09-21 17:40:00
5332
Satellite Geodesy (Seeber)卫星大地测量学
2013-10-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人