![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C#相关
文章平均质量分 84
晚安苏州
一场游戏一场梦
展开
-
WPF 使用 GDI+ 绘制高清图
WPF 绘制高清图 DPI, WriteableBitmap, Graphics原创 2022-09-01 16:22:04 · 1702 阅读 · 1 评论 -
wpf 使用 Datatemplate 给 ContentControl 赋值
<Window x:Class="WpfApp1.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" x.原创 2020-10-14 20:52:14 · 1282 阅读 · 0 评论 -
C# TaskScheduler
这里记录下TaskScheduler 的简单用法。使用场景: 在使用 Task 的时候,大家都知道用TaskFactory.StartNew 可以用来创建一个 Task 。这里如果创建 10 个,那么这10个 Task 就各自放飞直接运行了。一般情况下是没什么大问题,如果这10个中的每个Task非常耗CPU或者内存,而公司的产品又是非常考验配置成本(比如一体机,移动设备等),就需要让这10个Task按照一定要求执行,比如串行执行,从而节省资源、让机器还可以顺畅去干别的事情。Task...原创 2020-08-14 15:49:24 · 3308 阅读 · 0 评论 -
C# 控制台程序 打开窗体
控制台项目Project1,程序代码,如:class Program{ private static Thread _thread; static void Main(string[] args) { _thread = new Thread(TestClass.Show); _thread.SetApartmentState(ApartmentState.STA);//设...原创 2020-01-17 17:33:32 · 3602 阅读 · 0 评论 -
C# async await
目录一.写法二.用法这里详细记录一下 async 和 await 的用法和注意点,当然前提是对 Task 比较了解了,因为 async 和 await 核心还是在 Task ,下面以实例来说明:一.写法先介绍一下写法,刚接触这两个关键字的时候,看别人写的代码总有些看不懂,后来发现原来是熟手们都喜欢简写,导致新手看不懂,如:private static async Task...原创 2019-10-25 16:03:10 · 507 阅读 · 0 评论 -
C# 异步编程 并行编程
目录异步编程1. Thread2. Task3.async + await并行编程Parallel本篇简单记录一下异步编程和并行编程,并以下图一个 Demo 来演示,源码地址我会公布在文章结尾。 异步编程 个人觉得,异步无非就是不影响某个线程的情况下,在另外的线程里执行任务的过程。异步编程即多线程编程。C# 里多线程编程写法有很多种,这里记录三种。...原创 2018-09-28 13:46:50 · 9386 阅读 · 2 评论 -
C#调用C++ DLL
记录一下两个内容:1.使用VS2015创建C++ DLL;2.使用C#调用上面创建好的C++ DLL;一.使用VS2015创建C++ DLL1.选择win32项目2.点击【下一步】->选择 dll 和预编译头3.随便添加一个头文件【MyTester.h】:并在stdafx.h文件中添加引用:随便输入一些简单定义代码,这里以 struct / int / bool / char /BYTE 类...原创 2018-06-13 11:18:28 · 8711 阅读 · 0 评论 -
Mono跨平台体验
最近遇到一个特殊需求,客户要求做一个运行在Linux上的软件,并且要有软件界面。考虑到不会GTK#,QT也不熟悉,所以想到还是用mono Windows Form(.net跨平台项目)比较好,这里记录一下做法。1.首先得准备一些东西:一台Windows电脑visual studio 2015 (其它版本也可以)一个虚拟机软件VisualBox(其它虚拟机软件也可以,这里以Visua原创 2017-10-13 09:31:06 · 1209 阅读 · 0 评论 -
C#调试C++ DLL代码
有些C#写的项目中会调用到C++ DLL,有时候需要调试进C++代码里去查问题,过程中经常会遇到无法命中C++代码断点的问题,在此记录一下常用的设置方式,照着设置的话基本上没什么问题:1)确保C#和C++项目源代码在同一个解决方案里 (这一点有待商榷,后来经过验证并不一定要在同一个解决方案里);2)确保C#项目,属性设置->调试选项->“支持非托管代码调试”打钩( 如果是...原创 2017-08-03 15:12:30 · 4906 阅读 · 1 评论 -
C++封装C#中的事件
背景: 用户要求我们提供给他们API,如果这些API都是用C#写的DLL,而用户要求API为C++的 DLL,这种情况下就需要将C# DLL里面的内容封装成C++ DLL。这里针对c#中的事件,记录一下如何使用C++来封装c#的事件:1.创建一个简单的C# DLL实例:a.新建一个c# DLL项目,取名:TestDotNetDLL,添加一个类:Customer,这原创 2016-08-09 11:40:44 · 6102 阅读 · 12 评论 -
C# 使用 Socket (Udp + Tcp)
一个简单示例,记录下C#中如何使用Socket:这个示例的作用是:服务端可以监测到是否和客户端连接,并且如果连上了,可以互相收发消息。如上图,我用的本机测试的,如果是不同机器且连着网,请换成对应的局域网ip或者公网映射ip.步骤:1.新增个空解决方案,并添加两个winform项目,一个是server端一个是client端:2.在服务端和客户端分别加入如下代码:服...原创 2015-06-29 17:35:38 · 4246 阅读 · 0 评论 -
C#:匿名方法
前一阵子去面试,面试题中看到诸多这种写法:button1.Click += delegate(System.Object o, System.EventArgs e) { Console.WriteLine("Just test"); };delegate void Del(int x);Del d = delegate(int k) { /* ... */ };原创 2013-11-03 14:18:03 · 1197 阅读 · 0 评论 -
C#:LINQ
刚刚接触LINQ,对这个语言集成查询(Language INtegrated Query)还很懵懂,遂记录下学习心得,方便以后查阅。LINQ的写法形式有点像SQL,但它跟SQL是没有任何关系,它的作用主要就是用来处理对象的集合。下面以一个简单的例子来展示LINQ的强大之处:如:我要在一批电影集合中找出票价最便宜的前3部电影,下面的代码是以前的做法形式: stati原创 2013-11-03 21:58:17 · 1539 阅读 · 0 评论 -
C#:Lambda 表达式
之前介绍过匿名方法,可以帮我们少敲很多代码,这里又有一个更好的方式可以帮我们少码更多的字,就是Lambda 表达式。Lambda 表达式是匿名函数,它可以为委托赋值,也可以为表达式树赋值。先介绍为委托赋值:举个简单的例子:声明一个委托,它有一个int型参数,返回类型也是int型,这里利用匿名方法为委托赋值,返回输入参数基础上加15的整数。 public d原创 2013-11-03 16:32:34 · 1393 阅读 · 0 评论 -
C#:Attribute类
AttributeAttribute,作为名词,意思是标注,特征的意思。我们经常在日常编码中遇到,在某些类,方法,字段,属性上面有如下情形: [AttributeTargets_All] public TestAttributeClass() { } [Obsolete("该方法已经停用!请使用Method2原创 2013-12-03 23:01:02 · 1616 阅读 · 0 评论