
c#
文章平均质量分 88
海神号
这个作者很懒,什么都没留下…
展开
-
Powermill二次开发的草稿(4)
using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace PM装配器{ public class PMCalc { public virtual void Calc() { Console....原创 2019-01-18 01:12:10 · 1353 阅读 · 0 评论 -
int类型究竟占几个字节
最近在看深入理解计算机系统这本书,上面提到了在32位机器和64机器中int类型都占用4个字节。后来,查了The C Programming language这本书,里面有一句话是这样的:Each compiler is free to choose appropriate sizes for its own hardware, subject only to the restriction tha...转载 2018-08-06 15:28:52 · 57224 阅读 · 0 评论 -
多线程程序写日志时遇到加锁的问题
前段时间在做项目时,系统是个多线程程序,几个线程都需要写日志,主线程和通讯线程经常在写日志时打架,为了解决这个问题,考虑在写日志的方法中加锁。代码如下: /// <summary> /// 写日志时加锁 /// </summary> private static object m_Lock = new object...转载 2018-08-06 15:27:44 · 1040 阅读 · 0 评论 -
Winform操作App.config(增加、修改、删除、读取等)
2017年03月06日 20:13:17阅读数:56061. 操作App.config需要添加引用System.Configuration,并且在程序中using System.Configuration。2. 添加键为keyName、值为keyValue的项: public void addItem(string keyName, string keyValue...转载 2018-07-25 13:08:56 · 325 阅读 · 0 评论 -
Winform—C#读写config配置文件
现在FrameWork2.0以上使用的是:ConfigurationManager或WebConfigurationManager。并且AppSettings属性是只读的,并不支持修改属性值.一、如何使用ConfigurationManager?1、添加引用:添加System.configguration2、引用空间3、config配置文件配置节常用配置节:(...转载 2018-07-25 13:03:37 · 1136 阅读 · 0 评论 -
C# 高级特性(三)多线程
1,锁:控制多线程并发操作时,线程安全问题。举例:static bool done; //线程是否完成标识static object locker = new object(); //线程锁static void Main(string[] args) { Thread thread = new Thread(Test); // 打开多线程运行Test(...转载 2018-07-24 15:06:44 · 310 阅读 · 0 评论 -
C# 特性详解
刘昕鑫 C# 特性详解 特性(attribute)是被指定给某一声明的一则附加的声明性信息。 在C#中,有一个小的预定义特性集合。在学习如何建立我们自己的定制特性(custom attributes)之前,我们先来看看在我们的代码中如何使用预定义特性。 1 using System; 2 public class AnyClass 3 { ...转载 2018-07-24 14:00:57 · 1213 阅读 · 0 评论 -
【C#语法】类和方法的特性Attribute
一、引言 今天,我们来聊一下C#中的特性Attribute。何为特性Attribute?我们先看一个特性的使用例子,我们定义了一个Human类,但是由于某种原因该类不再被使用,但是我又不想将该类的代码注释或者删除掉,于是我们就可以通过给它赋予Obsolete特性来禁止别人使用: [Obsolete("该类已经过时,不能再使用",true)]...转载 2018-07-24 13:55:55 · 239 阅读 · 0 评论 -
.NET3.0之扩展方法
引MSDN对扩展方法的定义: 扩展方法使你能够向现有类型“添加”方法(包括你自定义的类型和对象噢),而无需创建新的派生类型、重新编译或以其他方式修改原始类型。扩展方法是一种特殊的静态方法,但是可以像扩展类型上的实例方法一样进行调用。对于用C#编写的客户端代码,调用扩展方法与调用在类型中实际定义的方法之间没有明显的差异。LINQ标准查询运算符就是采用的扩展方法方式,见图 (...转载 2018-07-24 13:05:45 · 258 阅读 · 0 评论 -
.NET/C# 使用Stopwatch测量运行时间
Stopwatch类:http://msdn.microsoft.com/zh-cn/library/system.diagnostics.stopwatch(v=vs.100).aspx 常用属性和方法:Start(): 开始或继续测量某个时间间隔的运行时间。Stop(): 停止测量某个时间间隔的运行时间。ElapsedMilliseconds:获取当前实例测量得出的总运行时间(...转载 2018-07-17 18:16:15 · 1504 阅读 · 0 评论 -
C#读取CSV文件的方法
在很多系统中,都需要读取csv文件,我在以前的一个项目中也遇到过要将csv文件中的数据读取到datatable中进行处理,下面的代码是我以前写的将csv文件中的数据导入到DataTable中的方法,现在贴出来给大家分享://GetCSVFile'S FileName and Data获取csv文件中数据,并将数据导入DataTable中// mycsvdt 用来装csv文件中数据的da...转载 2018-08-06 15:30:36 · 5847 阅读 · 0 评论 -
JSON接口
天气接口气象局接口:http://m.weather.com.cn/data/101010100.html 解析 用例音乐接口:虾米接口http://kuang.xiami.com/app/nineteen/search/key/歌曲名称/diandian/1/page/歌曲当前页?_=当前毫秒&callback=getXiamiData 用例 代码解释和下载QQ空间音乐接口...转载 2018-09-29 16:11:04 · 1395 阅读 · 0 评论 -
.Net 中Byte[]与Base64相互转化
图片到byte[]再到base64string的转换: Bitmap bmp = new Bitmap(filepath); MemoryStream ms = new MemoryStream(); bmp.Save(ms, System.Drawing.Imaging.ImageFormat.Gif)...转载 2018-09-29 16:11:33 · 5126 阅读 · 0 评论 -
powermill二次开发草稿(3)
using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace Demo{ public interface IPmSurface { void 选面(); } public interface IPmOperation...原创 2019-01-18 00:27:53 · 976 阅读 · 0 评论 -
Powermill二次开发老的草稿(1)
无意间发现了几篇好早以前做二次开发前的草稿,好蠢,不过很怀念。。。 using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace 模板方法{ public abstract class PMCalc { public abst...原创 2019-01-17 22:32:24 · 2263 阅读 · 0 评论 -
powermill二次开发的草稿(2)
using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace 外观模式{ public class PM毛坯操作 { public void 盒子毛坯() { Console.WriteLin...原创 2019-01-17 23:01:45 · 1371 阅读 · 0 评论 -
快速搭建一个本地的FTP服务器
快速搭建一个本地的FTP服务器快速搭建一个本地的FTP服务器 如果需要开发FTP文件上传下载功能,那么需要在本机上搭建一个本地FTP服务器,方便调试。第一步:配置IIS Web服务器1.1 控制面板中找到“程序”并打开1.2 程序界面找到“启用或关闭Windows功能”并打开1.3 上面两步也可以简化为一步:按【Win + R】快捷键打开运行对话框,输入“opti...转载 2018-11-15 15:04:05 · 357 阅读 · 0 评论 -
C# 动态为类的属性添加或修改其特性值
一、简述 在做项目的过程中要用到 WindowsForm PropertyGrid 控件,不过控件显示出来的属性是英文,想要显示出来的是中文,那么在类的属性上面加上一个 DisplayName 特性就行了。但是,因为某种情况要动态的修改控件显示出来的中文,怎么办?二、内容 首先先编写一个实验类 public class AppSetings { p...转载 2018-10-10 15:11:26 · 17360 阅读 · 3 评论 -
C#特性类的使用
特性类的使用过程:第一步:定义一个特性类,定义一些成员来包含验证时需要的数据;第二步:创建特性类实例;创建一个特性类的实例,里面包含着验证某一个属性或者字段需要的数据。将该实例关联到某个属性上面。第三步:使用特性类实例可以通过调用某个类型的GetProperties()方法,获取属性,然后调用类型属性成员的GetCustomAttributes()方法,获取该属性关联的特性类实例,...转载 2018-10-10 15:10:24 · 1434 阅读 · 0 评论 -
NET(C#)中将DATATABLE内容写入到CSV文件 与 将CSV文件内容读取到DATATABLE中(原创)
一、将DataTable内容写入到CSV文件 /// <summary> /// 将DataTable中的数据保存成CSV文件 /// </summary> private void btnSaveCSV_Click(object sender, EventArgs e) { ...转载 2018-10-15 14:02:07 · 672 阅读 · 0 评论 -
.Net WebClient通过代理服务器进行HTTP交互
WebClient 对象在通过代理服务器(如ISA Server 等)进行交互时需要额外的配置,使用方法如下: //创建 代理服务器设置对象 的实例System.Net.WebProxy wp= new System.Net.WebProxy("172.24.2.98:8080");//代理服务器需要验证wp.BypassProxyOnLocal=false;//用户名密码wp....转载 2018-09-29 16:33:23 · 2360 阅读 · 0 评论 -
Asp.Net使用代理IP远程获取数据
/// <summary> /// 远程获取数据 /// </summary> /// <param name="url">url</param> /// <param name="code">编码</param> /// <param name=&转载 2018-09-29 16:32:44 · 687 阅读 · 0 评论 -
[转]多边形点集排序--针对凸多边形,按逆时针方向进行排序
原文是C++下的,稍微的改了为C#的,呵呵主要方法:public static void ClockwiseSortPoints(List<Point3D> vPoints) { //计算重心 Point3D center = new Point3D(); double X = 0, Y = 0; ...转载 2018-06-19 18:24:56 · 1771 阅读 · 0 评论 -
IEnumerable
阅读目录自己实现迭代器yield的使用怎样高性能的随机取IEnumerable中的值我们先思考几个问题:为什么在foreach中不能修改item的值?要实现foreach需要满足什么条件?为什么Linq to Object中要返回IEnumerable?接下来,先开始我们的正文。自己实现迭代器.net中迭代器是通过IEnumerable和IEnumerator接口来实现的,今天我们也来依葫芦画瓢。...转载 2018-06-19 14:47:00 · 18998 阅读 · 2 评论 -
数学计算
通过角度距离计算坐标 public static Point2D GetCoordinate(double angle, double distance, Point2D startPnt = null) { var x = Math.Cos(angle) * distance; var y = Math.Sin(angle) * dist...转载 2018-06-19 14:21:47 · 263 阅读 · 0 评论 -
过滤HTML标签的几个函数
/**/ /// <summary>/// 去除HTML标记/// </summary>/// <param name="NoHTML">包括HTML的源码 </param>/// <returns>已经去除后的文字</returns>public static string NoHTML(st转载 2018-06-11 11:26:39 · 412 阅读 · 0 评论 -
HTTP消息中header头部信息的讲解
HTTP Request的Header信息 1、HTTP请求方式如下表:GET向Web服务器请求一个文件POST向Web服务器发送数据让Web服务器进行处理PUT向Web服务器发送数据并存储在Web服务器内部HEAD检查一个对象是否存在DELETE从Web服务器上删除一个文件CONNECT对通道提供支持TRACE跟踪到服务器的路径OPTIONS查询Web服务器的性能 说明:主要使用到“GET”和“...转载 2018-06-11 11:49:28 · 8996 阅读 · 0 评论 -
C#多线程
一、基本概念1、进程首先打开任务管理器,查看当前运行的进程:从任务管理器里面可以看到当前所有正在运行的进程。那么究竟什么是进程呢?进程(Process)是Windows系统中的一个基本概念,它包含着一个运行程序所需要的资源。一个正在运行的应用程序在操作系统中被视为一个进程,进程可以包括一个或多个线程。线程是操作系统分配处理器时间的基本单元,在进程中可以有多个线程同时执行代码。进程之间是相对独立的,...转载 2018-06-12 11:47:58 · 193 阅读 · 0 评论 -
Linq专题之Linq查询from子句
Linq专题之Linq查询from子句 Linq查询表达式包含8个常用的子句:from、where、select、join、into、orderby、group、let。我们来看看详细的说明。 from: 指定查询操作的数据源和范围变量 where: 筛选元素的逻辑条件,一般由逻辑运算符("与","或")组成 select: 指定查询结果的类型和表现形式 o...转载 2018-06-12 14:57:20 · 568 阅读 · 0 评论 -
Linq专题之创建Linq查询表达式
Linq专题之创建Linq查询表达式 本节我们主要介绍一下如何创建查询集合类型,关系数据库类型,DataSet对象类型和XML类型的数据源的Linq查询表达式。 下面在实例代码ReadyCollectionData()函数创建了准备的数据源:1、创建集合类型的查询。 创建一个UserBaseInfo类: 1 public class UserBaseInfo 2 ...转载 2018-06-12 14:58:26 · 211 阅读 · 0 评论 -
Linq专题之Lambda表达式
这一节我们讲的Lambda表达式跟匿名函数有关。Lambda表达式就是一个匿名函数,它可以包含表达式和语句,并且可以创建委托和表达式树。 Lambda表达式的组成: 输入参数、Lambda运算符(=>)、表达式或语句块构成。 基本形式: (input parameters)=>expression。其中input parameters是输...转载 2018-06-12 14:59:36 · 766 阅读 · 0 评论 -
c#反射-动态加载dll简单例子
假设已有组件ClassLibraryTEST.dll,放置于程序目录下。组件中ClassLibraryTEST命名空间下有TEST类,类中有方法sum。下面示例就是动态加载组件并调用sum方法的简例:1 static void Main(string[] args)2 {3 string dllPath = string.Format("{0}\\Cla...转载 2018-06-12 15:01:16 · 2121 阅读 · 0 评论 -
C# 中使用Linq和Lambda表达式对List<T>进行排序
C#中List<T>排序的两种方法List<Student> stu = (List<Student>)Session["StudentList"];Linq表达式://按学号降序List<Student> stuList = (from s instu orderby s.stuNOdescending select s).ToList<St...转载 2018-06-12 15:04:35 · 457 阅读 · 0 评论 -
SQL防注入
//解决SQL注入漏洞 cmd是SqlCommand对象 cmd.CommandText = @"select count(*) from UserInfo where UserName=@UserName and UserPwd=@UserPwd"; cmd.Parameters.AddWithValue("@UserName",txtUserName.Text); //SQL参数化 ...原创 2018-06-11 10:26:05 · 149 阅读 · 0 评论 -
C#中的Partial
Partial关键词定义的类可以在多个地方被定义,最后编译的时候会被当作一个类来处理。首先看一段在C#中经常出现的代码,界面和后台分离,但是类名相同。public partial class Form1 : Form{ public Form1() { InitializeComponent(); }}其中用到了partial,我们打开Form1....转载 2018-06-10 09:35:39 · 524 阅读 · 0 评论 -
C# NameValueCollection 使用示例
public static void Main() { //初始化NameValueCollection需引用using System.Collections.Specialized; NameValueCollection myCol = new NameValueCollection(); my...转载 2018-06-08 11:13:36 · 1137 阅读 · 0 评论 -
关于齐次坐标的理解(经典)
http://blog.youkuaiyun.com/janestar/article/details/44244849齐次坐标在电脑图形内无处不在,因为该坐标允许平移、旋转、缩放及透视投影等可表示为矩阵与向量相乘的一般向量运算。依据链式法则,任何此类运算的序列均可相乘为单一个矩阵,从而实现简单且有效之处理。与此相反,若使用笛卡儿坐标,平移及透视投影不能表示成矩阵相乘,虽然其他的运算可以。现在的OpenGL及...转载 2018-06-15 18:48:50 · 477 阅读 · 0 评论 -
投影与三维视觉——本征矩阵和基础矩阵
原文:http://blog.youkuaiyun.com/xiaoyinload/article/details/49000855本征矩阵E:它包含了物理空间中两个摄像机相关的旋转(R)和平移信息(T)。T和R描述了一台摄像机相对于另外一台摄像机在全局坐标系中的相对位置。基础矩阵F:除了包含E的信息外,还包含了两个摄像机的内参数。由于F包含了这些内参数,因此它可以在像素坐标系将两个摄像机关联起来。OpenC...转载 2018-06-15 18:40:43 · 556 阅读 · 0 评论 -
三维空间几何变换矩阵
继之前的http://blog.youkuaiyun.com/piaoxuezhong/article/details/62430051绕轴旋转,这里汇总了一下三维空间中的平移变换,比例变化,旋转变换等数学知识:基本三维几何变换 1. 平移变换若空间平移量为(tx, ty, tz),则平移变换为 2. 比例变换相对坐标原点的比例变换一个点P=(x,y,z)相对于坐标原点的比例变换的矩阵可...转载 2018-06-15 17:41:19 · 5801 阅读 · 0 评论 -
三维数学基础之坐标系、向量、矩阵
转载自:http://blog.youkuaiyun.com/iosevanhuang/article/details/9052165一、计算机图形学计算机图形学(Computer Graphics)是一种使用数学算法将二维或三维图形转化为计算机显示器的栅格形式的科学。其广泛应用于游戏、动画、仿真、虚拟现实(VR)、增强现实(AR)等领域。在数学之中,研究自然数和整数的领域称为离散数学,研究实数的领域称作连续...转载 2018-06-15 17:30:56 · 3023 阅读 · 0 评论