1、借助C#对UDP的封装,可以简单的实现新闻广告信息的发布和推送,通过使用UDP组播技术,服务器使用D类IP(程序上的),客户端加入组播组,同时结合路由器(支持IGMP internet 网关管理协议)可完成一对多的组播任务。
2、GDI、GDI+ 是硬件驱动程序和用户软件的桥梁,是win 32的一部分,也就是说是c函数接口,用户无法直接操作硬件,只能是内存级的操作,多用于普通应用软件界面设计。DirectX是硬件和用户软件的接口,是GDI的升级版,多用于多媒体、游戏内软件,应用程序可以直接操作显存。wpf通过milcore使用DirectX.
3、尽可能的使用绑定技术,使wpf 的数据驱动界面能很好的发挥。
4、自定义按钮控件可以通过继承Control自定义控件然后使用任意形状的图片,还可以针对特定的控件(如button)使用样式。
5、面板实现拖动效果的时候,嵌套stackpanel时,父stackpanel的background="Transparent"否则拖动不流畅。
6、按钮border和background使用样式的时候是一样的---都用刷子。
7、可以在代码里使用Findresource()和as使用xaml里的资源。如style、brush。
8、同步与异步是相较于应用程序与操作系统内核的交互而言的,同步是指用户进程触发io操作并等待或轮训的去查看io操作是否就绪,而异步是指用户进程触发io操作以后开始做自己的事情,当io操作已经完成的时候会得到io完成的通知。
9、阻塞和非阻塞是针对于进程在访问数据的时候,根据IO操作的就绪状态来采取的不同方式,说白了是一种读取或者写入操作函数的实现方式,阻塞方式下读取或者写入函数将一直等待,而非阻塞方式下,读取或者写入函数会立即返回一个状态值.
10、 网络编程中可以使用同步阻塞、异步阻塞、同步非阻塞、异步非阻塞。凡此种种,如果是基于winsocket编程的话,还是考虑选择五种IO模型,上面提到的阻塞或非阻塞只是一种IO机制,IO模型为io 数据、应用程序、系统内核提供了合理的解决方案。select模型,维护socket表集,轮训完成io操作的socket对象。WSAAsyncSelect 异步选择,基于windows窗体的消息机制,通知应用程序完成io操作的socket对象,即窗体的过程的函数回调。WSAEventSelect 事件选择,其最大于上的区别就是不是投递到窗体对象而是事件对象(creat event waitformultipleEvent)。重叠端口模型,数据端口(重叠结构绑定io请求的返回)上重复投递io操作,分事件通知和完成列程,事件通知于重叠结构绑定一时间对象(句柄),waifor之。完成列程,也即使用回调函数了。完成端口模型,不再赘述,实在被微软"服务到家了"。
11、C# 2.0中就提出了使用匿名方法,常规的事件处理函数注册时使事件处理函数单独一体,不能使用和访问注册事件中的成员。通过匿名方法,可以在注册事件方法的时候将事件处理函数"内联"到当前,如此便可使用注册事件中的成员了。
12、enum类型声明为一组相关的符号常量定义了一个类型名字,枚举类型变量的取值被限定。
13、ref必须在进入方法得到赋值,out必须在离开方法之前得到赋值。
14、带parama的数组参数调用时可以隐式转换。
15、new操作符对类对象和结构对象的处理有不同。
a.要想创建出某个类的一个实例,就必须使用一个new操作符,new操作符将进行几项非常重要的处理:
从堆里为新对象分配内存;
有选择地调用那个类的某一个构造器。
b.创建出某个结构的一个实例,也使用一个new操作符,new操作符将调用结构的惟一的无参数构造器(不能重写),无参数构造器只是把所有的字段初始化0或null而已,其他什么都不做.
16、readonly只能在初始化--声明初始化或构造器初始化--的过程中赋值,其他地方不能进行对只读域的赋值操作,否则编译器会报错。const修饰的常量必须在声明的同时赋值,而且要求编译器能够在编译时期计算出这个确定的值。const修饰的常量是在编译时便被计算出确定的值,并代换到引用该常量的每一个地方,而readonly时在运行时才确定的量。
17、as 运算符只执行引用转换和装箱转换。当转换失败时,as 运算符将产生空,而不是引发异常。is 运算符用于检查对象的运行时类型是否与给定类型兼容.
18、类的静态构造函数在程序域中只能调用一次,在创建类对象的时候或者应用类的任何静态成员都会发生静态构造函数的调用。
19、记住C#几个最基本的转换:byte数组到string: ASCIIEncoding encoding = new ASCIIEncoding(); encoding.GetString(byte[]array); Unicode同理;字符串到数值:int.parse(string), float.parse(string); 数值到字符串:object.ToString(); 字符串到字符数组:char[] arry = str.ToCharArray(); 字符数组到字符串:String str = new String(char[] array); 字符串到字节数组: 利用System.Text.Encoding 的 byte[] GetBytes(String str); 字节数组到字符串: String GetString(byte[]array);数值到字节数组:利用System.BitConverter 类的 Byte[] GetBytes(...);字节数组到数值:Toint32 ToSignle ToBoolean
20、记住并熟练使用C#的几个集合类:Array(定长、指定类型、整数下标访问);ArrayList(obj.Add; obj.AddRange; obj.Remove; obj.RemoveAt); Stack(obj.Push,obj.Pop(),obj.Peek; Queue(obj.Enqueue,obj.Dequeue, obj.Peek); Hashtable(obj.add(key,value),key.GetHashCode);SortedList(key数组时排序好的)
分享到:
相关推荐
C#/WPF常用保存日志的方法,全新简单实例,直接可用 1、C#/WPF 使用日志帮助类保存日志 2、C#/WPF 使用NLog保存日志 3、C#/WPF 使用Log4net保存日志 4、Prism依赖注入NLog保存日志 5、C#/WPF外部调用Log4net保存日志
基于C# / WPF的地震预警软件源码
c#wpf程序设计教程
非常不错的C#/WPF 手写识别程序,可以在桌面运行,也可以用在web上是用,类似百度的那种手写输入,胜过汉王手写输入,经过一番努力已经开发成成品了,上传过来的只是个半成品,给大家一个参考,有需要的可以联系我,...
原创的C#/WPF通用自动更新模块源码,具有使用简单、节省服务器空间与流量、可完全自定义更新内容展示等特点。详细介绍与使用方法可见我的文章 https://blog.csdn.net/q408774831/article/details/81876761
原创的C#/WPF通用自动更新模块源码,具有使用简单、节省服务器空间与流量、可完全自定义更新内容展示等特点。详细介绍与使用方法可见我的文章 https://blog.csdn.net/q408774831/article/details/81876761 刚才的传...
实现了WPF应用程序控件的灰度功能
在项目开发中,希望窗体一直处于置顶状态,使用该Demo可方便实现这个功能。
C#开发WPF/Silverlight动画及游戏系列教程(Game Tutorial):(二十八)经典式属性设计及完美的物理攻击系统 C#开发WPF/Silverlight动画及游戏系列教程(Game Tutorial):(二十九)人工智能(AI)之追踪者 C#开发WPF/...
用二次贝塞尔曲线参数方程实现二次贝塞尔曲线绘制
C#客户端/WPF/WINFORM通过HttpClient访问API
因项目需要合入vlc播放器,由于工程是64位的,而在网上找的大部分是32位的vlc库和demo无法兼容。现在终于找到一个32/64位的库demo,自己再重新整理了一下分享出来。
1、注册表设置Windows屏保程序参数 2、通过WIn API启动屏保 3、注册表的操作和更新 4、C#启动自定义屏保程序
Csv文件无需运行环境,方便移植,可以模拟小型数据, 实现快速读写,以及增删改查的功能,完美兼容xls,xlsx和txt。
运行框架:.netframework4.7.1以上,小窗口托盘程序,鼠标移上托盘图标时显示实时行情;实时显示指定的基金和股票的行情数据;可添加需要监视的基金或股票,也可以移除已添加项;
WPF程序设计指南(最全-清晰PDF中文版-附源码) (文件太大,分成三个部分) 跟随Windows大师Charles Petzold学习新一代Windows客户端接口程序设计 Windows Presentation Foundation(WPF)是微软.NET Fmmework 3.0...
灵活标记格式(FTF)是一种使用人类可读标签的完全灵活的存储格式,并且可能支持存储任何类型的数据。 这是C#/ WPF版本。
利用WPF设计可自定义流程的界面。 利用WPF设计可自定义流程的界面。 利用WPF设计可自定义流程的界面。 利用WPF设计可自定义流程的界面。 利用WPF设计可自定义流程的界面。利用WPF设计可自定义流程的界面。
分两个工程,一个语音播放的工程;另一个语音和字幕的工程 1、使用系统提示音 2、使用MCI Command String多媒体设备程序接口播放 3、实现语音和字幕同时播放展示
1、使用用互斥量(System.Threading.Mutex) 2、将以运行实例窗体置顶