随笔分类 -  C#参考

代码改变世界
摘要:几个进程在大多数情况下要包含很多的子线程,那么他们之间免不了的要互相传递很多的参数,那么参数怎么传递的呢?主线程向子线程传递参数的方法第一种方法:Thraed类有一个带参数的委托类型的重载形式,这个委托的定义如下:publicdelegatevoid ParameterizedThreadStart... 阅读全文
posted @ 2015-01-10 14:58 stemon 阅读(6587) 评论(0) 推荐(0)
摘要:还是那个项目,为了降低程序的耦合性,我决定小小的重构一下自己原来的代码,把Socket通信和帧的分析这两部分分别封装成一个类,当然线程没有变,只是封装了一下,为的就是模块测试完容易拼接。这也是我打算降低耦合度的原因,不然根本没法拼接,好乱好乱。但是封装Socket通信和数据分析模块就带来了一些问题。... 阅读全文
posted @ 2015-01-09 01:34 stemon 阅读(316) 评论(0) 推荐(0)
摘要:(一)Control的Invoke和BeginInvoke 我们要基于以下认识: (1)Control的Invoke和BeginInvoke与Delegate的Invoke和BeginInvoke是不同的。 (2)Control的Invoke和BeginInvoke的参数为delegat... 阅读全文
posted @ 2015-01-08 12:57 stemon 阅读(542) 评论(0) 推荐(0)
摘要:Windows是一个多任务的系统,如果你使用的是windows 2000及其以上版本,你可以通过任务管理器查看当前系统运行的程序和进程。什么是进程呢?当一个程序开始运行时,它就是一个进程,进程所指包括运行中的程序和程序所使用到的内存和系统资源。而一个进程又是由多个线程所组成的,线程是程序中的一个执行... 阅读全文
posted @ 2015-01-07 14:10 stemon 阅读(738) 评论(0) 推荐(0)
摘要:开篇之前说点别的,马上年终了,好希望年终奖大大的,但是好像这次项目的展示很重要,所以这几天绷得比较近,但是真的没有感觉烦,就是害怕来不及。所以抓紧了。下面直接正题。说一下用到的东西,都是Google搜索来的,但是这些技术真的能用到自己的项目中,自己做的东西等过年回家没事慢慢总结,现在先学习一下别人的... 阅读全文
posted @ 2015-01-06 20:53 stemon 阅读(5064) 评论(1) 推荐(0)
摘要:最近在做一个机器人项目,要实时的接收机器人传回的坐标信息,并在客户端显示当前的地图和机器人的位置。当然坐标的回传是用的Socket,用的是C++的结构体表示的坐标信息。但是C#不能像C++那样很easy的把字节数组byte[]直接的转换成结构,来发送和接收。在C#中要多做一些工作。但是在C或者C++... 阅读全文
posted @ 2015-01-06 01:02 stemon 阅读(2455) 评论(0) 推荐(0)
摘要:这个例子只是一个简单的连续发送数据,接收数据的DEMO。因为最近做一个项目,要求robot连续的通过Socket传回自己的当前的位置坐标,然后客户端接收到坐标信息,在本地绘制地图,实时显示robot的位置。里面还有好多的问题,在实际的项目中一定要解决,不然肯定跑步起来。比如:消息边界问题(帧的边界)... 阅读全文
posted @ 2015-01-05 16:09 stemon 阅读(3013) 评论(0) 推荐(0)
摘要:我们在讲解Socket编程前,先看几个和Socket编程紧密相关的概念:1. TCP/IP层次模型当然这里我们只讨论重要的四层01,应用层(Application):应用层是个很广泛的概念,有一些基本相同的系统级TCP/IP应用以及应用协议,也有许多的企业应用和互联网应用。http协议在应用层运行。... 阅读全文
posted @ 2015-01-04 16:13 stemon 阅读(486) 评论(0) 推荐(0)
摘要:Lock关键字解释:lock 关键字将语句块标记为临界区,方法是获取给定对象的互斥锁,执行语句,然后释放该锁。 下面的示例包含一个 lock 语句。lock 关键字可确保当一个线程位于代码的临界区时,另一个线程不会进入该临界区。 如果其他线程尝试进入锁定的代码,则它将一直等待(即被阻塞),直到该对象... 阅读全文
posted @ 2015-01-04 16:02 stemon 阅读(1178) 评论(0) 推荐(0)
摘要:原文转载链接:http://www.cnblogs.com/leslies2/archive/2012/03/06/2379235.htmlWritten by:风尘浪子引言本文主要是介绍进程(Process)、应用程序域(AppDomain)、.NET上下文(Context)的概念与操作。 虽然在... 阅读全文
posted @ 2015-01-04 15:24 stemon 阅读(273) 评论(0) 推荐(0)
摘要:C# 中的每个类或结构都隐式继承 Object 类。 因此,C# 中的每个对象都会获得 ToString 方法,此方法返回该对象的字符串表示形式。 例如,所有 int 类型的变量都有一个 ToString 方法,此方法可让这些变量将其内容作为字符串返回:int x = 42;string strx ... 阅读全文
posted @ 2015-01-01 23:40 stemon 阅读(449) 评论(0) 推荐(0)
摘要:Thread类可以创建和控制线程,Thread类的构造函数重载为接受ThreadStart和ParameterizedThreadStart类型的委托参数。下面我们用一个例子来解释怎样用Thread类来创建一个简单的线程。staticvoid Main(string[] args){ //regio... 阅读全文
posted @ 2015-01-01 16:09 stemon 阅读(344) 评论(0) 推荐(0)
摘要:(一)首先讲一个不熟悉的数据类型:bytebyte关键字代表一种整型,该类型按下表所示存储值:类型范围大小.NET Framework 类型byte0 到 255无符号 8 位整数System.Byte可如下例所示声明并初始化byte类型的变量:byte myByte = 255;在以上声明中,整数... 阅读全文
posted @ 2014-12-11 18:33 stemon 阅读(403) 评论(0) 推荐(0)
摘要:类实现一个接口时,它必须实现该接口的所有部分(方法和属性等),效果相当于类要表明:“我同意履行这个接口所定义的协定。”从抽象类继承实现了“is-a(是一种)”关系,实现接口时一种“implement(实现)”关系,区别在于:举个例子:汽车是一种运载工具,它可以实现CanBeBoughtWithABi... 阅读全文
posted @ 2014-11-14 17:07 stemon 阅读(192) 评论(0) 推荐(0)
摘要:属性和字段不同,属性是一个函数成员:它提供灵活的机制来读取、编写或计算某个私有字段的值。可以像使用公共数据成员一样使用属性,但实际上它们是称作“访问器”的特殊方法。这使得可以轻松访问数据,此外还有助于提高方法的安全性和灵活性。属性不为数据存储分配内存空间,它是执行代码。意思是如果我们想封装类的成员变... 阅读全文
posted @ 2014-11-13 20:20 stemon 阅读(203) 评论(0) 推荐(0)
摘要:继承C#中,创建派生类要在派生类的名字后面加上冒号,后面再跟上基类的名字:1 public class ListBox : Control提示:C++程序员注意了,C#没有私有或者保护继承多态继承又两个功能强大的方面。其一是代码重用,创建ListBox类时,可以重用基类Control中的某些逻辑。另... 阅读全文
posted @ 2014-11-11 17:44 stemon 阅读(145) 评论(0) 推荐(0)
摘要:结构体是一种简单的用户自定义类型,也是类的一种轻量级的替代品。相似之处:他们都有构造函数、属性、方法、字段、操作符、嵌套类型和索引器。差异之处:类是一种引用类型,而结构体是一种值类型。因此结构体一般用于表示无须引用语义的对象。struct类型适于表示Point、Rectangle和Color等轻量对... 阅读全文
posted @ 2014-11-11 11:41 stemon 阅读(838) 评论(0) 推荐(0)
摘要:this关键字指向类的当前实例,this指针是类中所有非静态方法的隐藏指针,每个方法都能通过this指针指向对象的其他方法和成员变量。因为对一个类来说,它的成员函数(方法)只有一份,所有的实例对象共享这一份代码,但是他们在内存中都有各自的成员变量。那么程序跑起来的时候,就是通过这个this指针来确定... 阅读全文
posted @ 2014-11-10 22:51 stemon 阅读(124) 评论(0) 推荐(0)
摘要:ref关键字通过引用(而非值)传递参数。通过引用传递的效果是,对所调用方法中的参数进行的任何更改都反映在调用方法中。说明:不要混淆通过引用传递的概念与引用类型的概念。 这两种概念是不同的。 无论方法参数是值类型还是引用类型,均可由 ref 修改。 当通过引用传递时,不会对值类型装箱。若要使用ref参... 阅读全文
posted @ 2014-11-10 21:02 stemon 阅读(241) 评论(0) 推荐(0)
摘要:只读字段当字段声明中含有readonly修饰符时,该声明所引入的字段为只读字段。给只读字段的直接赋值只能作为声明的组成部分出现,或在同一类中的实例构造函数或静态构造函数中出现。(在这些上下文中,只读字段可以被多次赋值。)准确地说,只在下列上下文中允许对readonly字段进行直接赋值:在用于引入该字... 阅读全文
posted @ 2014-11-10 19:22 stemon 阅读(268) 评论(0) 推荐(0)