学习C#
文章平均质量分 65
mishidemudong
菜鸟上路,一颗红心,两手准备。
展开
-
游戏服务器架构演进(完整版)
http://gad.qq.com/article/detail/32876这是王者荣耀技术分析系列第三篇,有兴趣请持续关注我的blog和公众号。1、像《王者荣耀》一样红过2、从《王者荣耀》来聊聊游戏的帧同步3、游戏服务器的架构演进想了解更多有料的原创文章,请关注我的公众号,大码侯(ID:cool_wier)一、游戏服务器特征游戏服务器,是一个会长期运行程序,并且它还要服务于多个不定时,不定点的网络请求。所以这类服务的特点是要特别关注稳定性和性能。这类程序...转载 2020-09-02 19:46:24 · 1321 阅读 · 0 评论 -
C# 中静态调用C++dll 和C# 中动态调用C++dll
C# 中静态调用C++dll 和C# 中动态调用C++dll在最近的项目中,牵涉到项目源代码保密问题,由于代码是C#写的,容易被反编译,因此决定抽取核心算法部分使用C++编写,C++到目前为止好像还不能被很好的反编译,当然如果你是反汇编高手的话,也许还是有可能反编译。这样一来,就涉及C#托管代码与C++非托管代码互相调用,于是调查了一些资料,顺便与大家分享一下:一. C# 中静转载 2016-06-14 16:44:29 · 3169 阅读 · 1 评论 -
C#如何定义结构体及访问结构体的成员
构结构的关键字 struct,struct类型是一种值类型通常用来封装小型变量组,如果冲结构创建一个对象并将对象赋给某个变量 则变量包含结构该变量放入结构的全部值,如果复制包含变量的结构,则将该复制所有的值,对新副本所作的任何修改都不会改变就副本的值(值类型的复制,自复制给其他的值,改变原来结构的值)结构的特点:结构不是引用类型,而是值类型。结构的实例化不能用new运算符。结构可以声明构造函数原创 2016-06-15 15:15:29 · 16938 阅读 · 0 评论 -
C#中的Process类使用
Process类的作用是对系统进程进行管理,我们使用Process类中的一些方法结合Winform开发个简单的进程管理器:在使用Process类的时候,先导入命名空间System.Diagnostics。使用Winform画出如上的界面,数据显示使用的是Listview。在窗体的Load事件中写出如下代码: 1: private void Form1转载 2016-06-15 16:10:05 · 834 阅读 · 0 评论 -
RichTextBox详细使用简介
由于公司涉及到聊天对话框的功能,就想到了RichTextBox,查阅相关资料,总结下:一、RichTextBox的内容相关的类1.1RichTextBox的内容结构RichTexBox是个可编辑控件,可编辑我们很容易想到word的可编辑,在word里面我们经常会新建一个Document,然后一段一段的编写,有的时间会插入图片,或者是特殊的文本。同样RichTextBox也是转载 2016-06-15 16:12:57 · 17338 阅读 · 0 评论 -
C#定义数组
格式[] ;其中basetype可以是任何变量类型数组必须访问之前初始化初始化有2种int [] a={5,9,8};int [] a=new int[3];原创 2016-06-15 16:23:05 · 7807 阅读 · 0 评论 -
C#调用C++DLL时遇到的PInvoke 函数的调用导致堆栈不对称问题
解决:对 PInvoke 函数的调用导致堆栈不对称问题 问题描述: 在使用托管代码调用非托管代码时,发生“对 PInvoke 函数“UseTwiHikVisionDllTest!UseTwiHikVisionDllTest.TwiHikVision::GetFirstPic”的调用导致堆栈不对称。原因可能是托管的 PInvoke 签名与非托管的目标签名不匹配。请检转载 2016-06-17 16:38:03 · 5054 阅读 · 2 评论 -
C++与C#数据类型对应关系总结
API与C#的数据类型对应关系表API数据类型类型描述C#类型API数据类型类型描述C#类型WORD16位无符号整数ushortCHAR字符charLONG32位无符号整数intDWORDLONG64位长整数long原创 2016-06-20 14:27:40 · 15390 阅读 · 0 评论 -
C#调用C/C++动态库 封送结构体,结构体数组
因为公司一直都是做C++开发的,因客户需要要提供C#版本接口,研究了一下C#,发现其强大简洁, 在跨语言调用方面封装的很彻底,提供了强大的API与之交互.这点比JNA方便多了. Java与C#都只能调用C格式导出动态库,因为C数据类型比较单一,容易映射. 两者都是在本地端提供一套与之映射的C#/java描述接口,通过底层处理这种映射关系达到调用的目的. 一. 结构体的传递 Cpp代码 收藏代码#d转载 2016-06-20 18:17:56 · 1160 阅读 · 0 评论 -
在c#中使用指针
如果想在c#中使用指针,首先对项目进行配置:在解决方案资源管理器中右击项目名选择属性(或在项目菜单中选择consoleApplication属性(consoleApplication为项名)),在生成选项卡中 选中“允许不安全代码”,如下图: 然后将有关指针,地址的操作放在unsafe语句块中。使用unsafe关键字是来告诉编译器下面的代码是不安全的。unsafe转载 2016-06-21 10:02:52 · 6454 阅读 · 0 评论 -
WPF单步调试程序的设置
若要显示调试跟踪信息,必须启用 WPF 跟踪。可以在 App.Config 文件中启用 WPF 跟踪,或通过使用 PresentationTraceSources 类以编程方式启用 WPF 跟踪。启用WPF 跟踪的一种更简单方式是使用“选项”窗口。不支持针对 Web 应用程序的 WPF 跟踪。启用或自定义 WPF 跟踪信息在“工具”菜单上选择“选项”。在“选项”对话框内左侧的框中,打开“调试”原创 2016-06-21 15:11:06 · 3933 阅读 · 0 评论 -
WPF——给button添加背景图片
首先要肯定,代码: <Image Stretch="UniformToFill" Name="Recogimg" Source="E:/梁栋凯/software/PstPro2016/PstPro2016/Images/set.png"原创 2016-06-14 15:20:00 · 9321 阅读 · 2 评论 -
C#中的读写文件操作函数总结
fopen, fclose, fwrite是C/C++中,用于文件读取写入的函数。在C#语言中,有很多方法可以进行文件读写。下面是通过StreamReader,FileStream,StreamWriter进行文件读写的范例。// 头文件引用using System;using System.Collections.Generic;using System.T原创 2016-06-29 20:16:21 · 9037 阅读 · 0 评论 -
C# 互操作性入门系列(三):平台调用中的数据封送处理
C# 互操作性入门系列(三):平台调用中的数据封送处理C#互操作系列文章:C#互操作性入门系列(一):C#中互操作性介绍C#互操作性入门系列(二):使用平台调用调用Win32 函数C#互操作性入门系列(三):平台调用中的数据封送处理C#互操作性入门系列(四):在C# 中调用COM组件 本专题概要数据封送介绍封送Win32数据类型封送字符串的处理封送结转载 2016-06-28 20:30:15 · 988 阅读 · 0 评论 -
Winform基础
Winform基础 今天开始我们为大家逐渐的介绍Winform的知识。 先介绍三个概念:1) 工具箱:添加控件 复制 对齐2) 属性(以窗体或Button为例):如何更改属性 常用属性(name)Visibale Enabled Location Size Text等3) 事件:当事件发生的时候,.net框架会帮助我们执行一个方法。叫事件处理方转载 2016-06-12 16:12:31 · 738 阅读 · 0 评论 -
winform中常用的控件
学习winform可以帮助我们实现很多有意思的功能。 图一、在窗体上添加小图标 那么如何插入运行程序的图标呢?请看下图,另外我们演示下如何在button单击事件弹出消息对话框添加是和否。 图二、添加图标及按钮是否功能 图三、为按钮添加链接 图四、label 图五、lin转载 2016-06-12 16:15:43 · 1197 阅读 · 0 评论 -
WPF学习(入门)
WPF学习简介WPF 为Windows Presentation Foundation的缩写 ,意思是基于windows的图形界面处理,其原来代号为“Avalon”,因“我佩服”拼音首字母组合一样,国内有人调侃地称之为“我佩服”。由 .NET Framework 3.0 开始引入,并且在以后的版本中都支持WPF,与 Windows Present转载 2016-06-12 17:40:05 · 745 阅读 · 0 评论 -
WPF开篇
WPF参考书推荐 下面先整理下,本人主要学习的WPF参考书: 1、WPF编程宝典(C#2010) 该书:(必读) 心得体会:读完该书后,你对WPF的基础和基本控件的使用,包括WPF的编程模型,相比Winform的特性和如何开始在实际的项目中下手,都有了基本的认知。里面还介绍了控转载 2016-06-12 17:56:36 · 768 阅读 · 0 评论 -
WPF Step By Step -基础知识介绍
回顾 上一篇我们介绍了WPF基本的知识。并且介绍了WPF与winform传统的cs桌面应用编程模式上的变化,这篇,我们将会对WPF的一些基础的知识做一个简单的介绍,关于这些基础知识更深入的应用则在后续的篇幅中大幅度的应用。本文大纲 什么是xaml 什么是路由事件 WPF都提供了那些基础控件 什么是依赖属性 元素绑定 WPF中的资源 WPF转载 2016-06-12 17:58:13 · 816 阅读 · 0 评论 -
WPF Step By Step 控件介绍
回顾 上一篇,我们主要讨论了WPF的几个重点的基本知识的介绍,本篇,我们将会简单的介绍几个基本控件的简单用法,本文会举几个项目中的具体的例子,结合这些例子,希望我们可以对WPF的掌握会更深刻。本文涉及的内容可能较多。请大家慢慢看看。错误之处,还请指出。本文大纲1、基本控件介绍与用法。基本控件介绍与用法 文本控件Label控件转载 2016-06-12 18:00:14 · 616 阅读 · 0 评论 -
WPF Step By Step 完整布局介绍
回顾 上一篇,我们介绍了基本控件及控件的重要属性和用法,我们本篇详细介绍WPF中的几种布局容器及每种布局容器的使用场景,当然这些都是本人在实际项目中的使用经验,可能还存在错误之处,还请大家指出。本文大纲1、Grid2、StackPanel3、DockPanel4、WrapPanelGrid1、Row和Column转载 2016-06-12 18:02:26 · 464 阅读 · 0 评论 -
WPF Step By Step 自定义模板
回顾 上一篇,我们简单介绍了几个基本的控件,本节我们将讲解每个控件的样式的自定义和数据模板的自定义,我们会结合项目中的具体的要求和场景来分析,给出我们实现的方案和最终的运行效果。本文大纲1、控件模板及数据模板2、ListBox深度定制模板。3、TreeView高级模板使用实例。控件模板及数据模板 控件模板什么是控转载 2016-06-12 18:04:05 · 705 阅读 · 0 评论 -
WPF Step By Step 系列-Prism框架在项目中使用
回顾 上一篇,我们介绍了关于控件模板的用法,本节我们将继续说明WPF更加实用的内容,在大型的项目中如何使用Prism框架,并给予Prism框架来构建基础的应用框架,并且如何来设计项目的架构和模块,下面我们就来一步步开始吧。本文大纲1、Prism框架下载和说明2、Prism项目预览及简单介绍。3、Prism框架如何在项目中使用。Prism转载 2016-06-12 18:18:08 · 1843 阅读 · 0 评论 -
系统架构师-基础到企业应用架构-分层[上篇]
一、前言 大家好,接近一年的时间没有怎么书写博客了,一方面是工作上比较忙,同时生活上也步入正轨,事情比较繁多,目前总算是趋于稳定,可以有时间来完善以前没有写完的系列,也算是对自己这段时间工作和生活上总结,同时也加深下自己对架构和设计方面的理解,由于本人的写作水平有限,所以在书写的深度和书写的格式上还有很多的缺点,还希望大家多多指出。二、开篇 本篇转载 2016-06-12 18:29:42 · 1119 阅读 · 1 评论 -
C#中调用C++的dll的参数为指针类型的导出函数(包括二级指针的情况)
一:首先什么是IntPtr先来看看MSDN上说的:用于表示指针或句柄的平台特定类型。这个其实说出了这样两个事实,IntPtr 可以用来表示指针或句柄、它是一个平台特定类型。对于它的解释,这个哥们写的比较好:It's a class that wraps a pointer that is used when calling Windows API functions. The unde转载 2016-06-27 10:49:32 · 6313 阅读 · 0 评论