c#
000000000000O
这个作者很懒,什么都没留下…
展开
-
C# 通过socket实现UDP 通信
http://blog.csdn.net/u011484013/article/details/51131267UDP不属于面向连接的通信,在选择使用协议的时候,选择UDP必须要谨慎。在网络质量令人十分不满意的环境下,UDP协议数据包丢失会比较严重。但是由于UDP的特性:它不属于连接型协议,因而具有资源消耗小,处理速度快的优点,所以通常音频、视频和普通数据在传送时使用UDP较多,因为它们即使偶转载 2017-04-27 10:43:22 · 9402 阅读 · 0 评论 -
C# System.Timers.Time
System.Timers.Timer t = new System.Timers.Timer(5000); //设置时间间隔为5秒 private void Form1_Load(object sender, EventArgs e) { t.Elapsed += new System.Timers.ElapsedEventHandler(转载 2016-11-11 11:18:12 · 1203 阅读 · 0 评论 -
C#中Obsolete特性
一般在逼格比较高的程序员代码中常见此特性手法,他们因为某些原因不详注释掉原有的代码,用Obsolete [csharp] view plain copy class Program { static void Main(string[] args) { A转载 2016-10-25 17:49:34 · 932 阅读 · 0 评论 -
c#扩展方法
dotween有一种写法transform.DOMove给Transform类扩展了方法具体实现为using System;using UnityEngine;public static Tweener DOMove (this Transform target, Vector3 endValue, float duration, bool snappi原创 2016-08-19 10:46:08 · 378 阅读 · 0 评论 -
C#获得当前执行的函数名、当前代码行、源代码文件名
http://blog.csdn.net/newegg2009/article/details/6220385C#获得当前执行的函数名、当前代码行、源代码文件名[日期:2010-10-18 11:40] 来源:.NET中国学习网 作者:admin [字体:大 中 小] 得到函数名: System.Diagnostics.StackTrace st转载 2016-03-09 18:24:05 · 774 阅读 · 0 评论 -
C# 中==和Equal的区别
http://new-fighter.iteye.com/blog/1634800今天突然看到一种情况,颠覆了我对这比较使用方法的判断。 于是开始在网上找资料,但几乎都是Java的,好不容易找到一个C#的,写的感觉可没意思,所以自己就调查了一下。 需要注意的是:在Java中字符串比较特殊,声明字符串变量和new字符串对象是不一样的,这和C#是个很大的区别,大家需要注意,所以转载 2016-02-01 13:56:06 · 1661 阅读 · 0 评论 -
php,c# hamsha1
#!/usr/bin/php<?phpprint strtoupper(hash_hmac("sha256", "message", "key"));?>C#using System;using System.Text;using System.Security.Cryptography;public class Program{ private const转载 2015-12-23 15:07:20 · 651 阅读 · 0 评论 -
C#基本线程同步
http://blog.csdn.net/mousebaby808/article/details/54777330 概述 所谓同步,就是给多个线程规定一个执行的顺序(或称为时序),要求某个线程先执行完一段代码后,另一个线程才能开始执行。 第一种情况:多个线程访问同一个变量: 1. 一个线程写,其它线程读:这种情况不存在同步问题,因为只有一个线程在转载 2015-10-08 18:48:19 · 2002 阅读 · 0 评论 -
详解C#中的反射
http://blog.csdn.net/educast/article/details/2894892反射(Reflection)2008年01月02日 星期三 11:21两个现实中的例子:1、B超:大家体检的时候大概都做过B超吧,B超可以透过肚皮探测到你内脏的生理情况。这是如何做到的呢?B超是B型超声波,它可以透过肚皮通过向你体内发射B型超声转载 2015-10-08 16:53:04 · 3764 阅读 · 0 评论 -
C#中的结构体要使用new来实例化吗?
声明结构的默认(无参数)构造函数是错误的。总是提供默认构造函数以将结构成员初始化为它们的默认值。在结构中初始化实例字段也是错误的。 如果使用 new 运算符创建结构对象,则会创建该结构对象,并调用适当的构造函数。与类不同,结构的实例化可以不使用 new 运算符。如果不使用 new,则在初始化所有字段之前,字段都保持未赋值状态且对象不可用。 结构类型使用new不会分配托管堆分配内存而是调用构造函转载 2017-03-17 18:03:31 · 6753 阅读 · 0 评论 -
【《Effective C#》提炼总结】提高Unity中C#代码质量的21条准则
http://wetest.qq.com/lab/view/290.html?from=adsout_qqtips_past2_290&sessionUserType=BFT.PARAMS.212712.TASKID&ADUIN=1397601311&ADSESSION=1488939605&ADTAG=CLIENT.QQ.5497_.0&ADPUBNO=26661WeTest 导读转载 2017-03-08 14:01:15 · 392 阅读 · 0 评论 -
.NET中的六个重要概念:栈、堆、值类型、引用类型、装箱和拆箱
http://blog.jobbole.com/77946/内容导读概述当你声明一个变量背后发生了什么?堆和栈值类型和引用类型哪些是值类型,哪些是引用类型?装箱和拆箱装箱和拆箱的性能问题一、概述本文会阐述六个重要的概念:堆、栈、值类型、引用类型、装箱和拆箱。本文首先会通过阐述当你定义一个变量之后系统内部发生的改变开始讲解,然后将关注点转移到存储双雄:堆和栈。转载 2017-04-03 16:37:06 · 424 阅读 · 0 评论 -
C# Process.Start()方法详解
http://blog.csdn.net/czw2010/article/details/7896264System.Diagnostics.Process.Start(); 能做什么呢?它主要有以下几个功能:1、打开某个链接网址(弹窗)。2、定位打开某个文件目录。3、打开系统特殊文件夹,如“控制面板”等。那么它是怎么实现这几个功能的呢?在讲应用前,我们先来看看Process.转载 2017-04-26 16:32:12 · 868 阅读 · 0 评论 -
c# new三种用法
前几天去家公司面试,有一道这样的题:写出c#中new关键字的三种用法,思前想后挖空心思也只想出了两种用法,回来查了下msdn,还真是有第三种用法:用于在泛型声明中约束可能用作类型参数的参数的类型,这是在Framework 2.0 中定义泛行时才会使用到的,自己对c# 2.0 中的支持还只是粗通皮毛,怪不得累死so many脑细胞也没能想不出这第三种来! 三种用法如下:在转载 2017-05-24 17:05:05 · 7951 阅读 · 0 评论 -
C# 异步
一 线程二 异步1 为什么要用异步简单说异步就是并行执行两件事,比同步执行快函数a执行3秒,函数b执行5秒,如果按顺序执行需要8秒(同步)使用异步的话,可以用异步先调用函数b,然后正常调用函数a,这时b还没执行完,a已经开始执行了,所以总时间应该会2什么时候用异步,什么时候用线程http://blog.csdn.net/onafioo/article/d原创 2015-03-17 23:33:39 · 3623 阅读 · 0 评论 -
C#基础知识回顾
值类型和引用类型值类型存在栈上,结构,枚举,数值类型引用类型存在堆上,数组,类,接口,委托把值类型存到引用类型中就是封箱,耗时类型转换关键字sealed:修饰类防止继承,修饰方法防止被复写线程,异步,协程事件泛型反射常用数据结构及其效率原创 2015-10-08 15:35:22 · 554 阅读 · 0 评论 -
unity coroutine
http://gad.qq.com/article/detail/695使用Unity 3D引擎的同学,对于Coroutine(协程)的使用肯定也是非常熟悉的了。然而Coroutine背后的技术以及具体的实现方式、运行流程如何,恐怕并不是那么容易说得清楚。本文尝试通过分析Unity 3.5.7版本的源代码,来厘清这一关键技术细节。(由于Unity 3.5.7的源代码转载 2017-05-01 12:43:22 · 937 阅读 · 0 评论 -
C# 委托、事件,lamda表达式
http://www.cnblogs.com/android-blogs/p/5851002.html注:看红字部分1. 委托Delegate C#中的Delegate对应于C中的指针,但是又有所不同C中的指针既可以指向方法,又可以指向变量,并且可以进行类型转换,C中的指针实际上就是内存地址变量,他是可以直接操作内存的,通过内存地址直接访问变量,直接调用方法转载 2017-04-04 21:09:31 · 737 阅读 · 0 评论 -
c#---delegate关键字
http://www.cnblogs.com/wenjiang/archive/2013/03/12/2954913.html注:只看红字在C#中,delegate是一个神奇的关键字,值得拿出来单独作为一个话题。一.基本内容 调用(invoke)委托,相当于调用委托所绑定的方法,一个委托可以绑定多个方法,使用"+="就可以向委托中添加新转载 2017-04-04 20:47:56 · 439 阅读 · 0 评论 -
C#委托的介绍(delegate、Action、Func、predicate)
http://www.cnblogs.com/akwwl/p/3232679.html 委托是一个类,它定义了方法的类型,使得可以将方法当作另一个方法的参数来进行传递。事件是一种特殊的委托。 1.委托的声明 (1). delegate delegate我们常用到的一种声明 Delegate至少0个参数,至多32个参数,可以无返回值,也可以指定返转载 2015-11-11 13:45:53 · 594 阅读 · 0 评论 -
Unity协程(Coroutine)原理深入剖析
尊重他人的劳动,支持原创,转载请注明出处:http.dsqiu.iteye.com 记得去年6月份刚开始实习的时候,当时要我写网络层的结构,用到了协程,当时有点懵,完全不知道Unity协程的执行机制是怎么样的,只是知道函数的返回值是IEnumerator类型,函数中使用yield return ,就可以通过StartCoroutine调用了。后来也是一转载 2015-10-08 21:43:51 · 8935 阅读 · 1 评论 -
C#多线程编程
http://www.cnblogs.com/luxiaoxun/p/3280146.html一、使用线程的理由1、可以使用线程将代码同其他代码隔离,提高应用程序的可靠性。2、可以使用线程来简化编码。3、可以使用线程来实现并发执行。二、基本知识1、进程与线程:进程作为操作系统执行程序的基本单位,拥有应用程序的资源,进程包含线程,进程的资源被线程共享,线程不拥有资源。转载 2015-10-08 18:40:10 · 574 阅读 · 0 评论 -
网络字节顺序
字节序,顾名思义字节的顺序,再多说两句就是大于一个字节类型的数据在内存中的存放顺序(一个字节的数据当然就无需谈顺序的问题了)。其实大部分人在实际的开发中都很少会直接和字节序打交道。唯有在跨平台以及网络程序中字节序才是一个应该被考虑的问题。在所有的介绍字节序的文章中都会提到字节序分为两类:Big-Endian和Little-Endian,引用标准的Big-Endian和Little-Endi转载 2015-05-06 19:57:34 · 717 阅读 · 0 评论 -
一个高效的A-star寻路算法(八方向)(
原作者是http://www.codefans.net的JAROD之所以说这个A-star算法高效,是因为它的open-list和close-list使用的完全是静态数组,这样就极大地降低了入栈出栈的负担。这个代码非常值得推荐。用法很简单:route_pt[] result = null;// result_pt是一个简单类,它只有两个成员变量:int x和int y。转载 2014-11-13 22:01:12 · 8994 阅读 · 1 评论 -
c#二维数组传递与拷贝
传递 copystring[,] a = new string[1, 2];//原数组 a[0, 0] = "a";a[0, 1] = "b"; string[,] b = (string[,])a.Clone();//新建一个二维数组,并把a拷贝给它 string[,] c = new string[1,2];// 另外一个二维数组 Array.C原创 2014-11-13 22:06:19 · 7143 阅读 · 0 评论 -
c#实现优先级队列
http://www.baidu.com/s?wd=c%23%E4%BC%98%E5%85%88%E7%BA%A7%E9%98%9F%E5%88%97&ie=utf-8&f=8&rsv_bp=1&rsv_idx=1&tn=baidu&rsv_pq=efc07de5000f3769&rsv_t=cfc2XQdw6vLpqMbC%2BUKjZKG3pLY5QhlmymVHc2VGh8avPmrRmgH转载 2014-11-29 13:08:13 · 4422 阅读 · 1 评论 -
C#箴言:定义常量的两种方法
在C#中定义常量的方式有两种,一种叫做静态常量(Compile-time constant),另一种叫做动态常量(Runtime constant)。前者用“const”来定义,后者用“readonly”来定义。 对于静态常量(Compile-time constant),它的书写方式如下: public const int MAX_VALUE = 10; 为什么称它为静态常量转载 2014-11-20 14:52:58 · 720 阅读 · 0 评论 -
C# 事件机制
在所有关于C#事件机制的介绍中,我更倾向于发布者/订阅者(Publisher/Subscriber)这种描述。理解事件机制并不是一件容易的事情,它所涉及的思想值得我们好好去研究。本文资源来自《C#与.NET技术平台实战演练》——中国青年出版社谈到事件,我们涉及到两个角色:事件发布者(Publisher)和事件订阅者(Scriber),也可以说是事件发送者(Sender)和事件接收者转载 2014-11-02 23:43:27 · 671 阅读 · 0 评论 -
C#中数组、ArrayList和List三者的区别
在C#中数组,ArrayList,List都能够存储一组对象,那么这三者到底有什么样的区别呢。数组 数组在C#中最早出现的。在内存中是连续存储的,所以它的索引速度非常快,而且赋值与修改元素也很简单。[csharp] view plaincopy"font-family:SimSun;font-size:18px;">//数组转载 2014-10-25 17:06:53 · 728 阅读 · 0 评论 -
《C#入门经典》学习笔记(集合、比较和转换)
http://xiang-ai-2002.blog.163.com/blog/static/8477933201041824429161/集合 C#中的数组是作为System.Array类的实例来执行的,它们是集合类中的一种集合类一般用于处理对象列表,其功能是通过执行System.Collection中的接口实现的集合的功能可以通过接口来实现转载 2014-10-25 16:16:10 · 1336 阅读 · 0 评论 -
c#集合
System.Collections 命名空间有很多接口提供了基本的集合功能:IEnumerable:公开枚举数,该枚举数支持在非泛型集合上进行简单迭代ICollection:定义所有非泛型集合的大小、枚举数和同步方法IList:表示可按照索引单独访问的对象的非泛型集合IDictionary:表示键/值对的非通用集合原创 2014-10-23 22:11:37 · 904 阅读 · 0 评论 -
c#反编译
de4dot主要用来反混淆用法:dll文件直接拖到de4dot.exe会生成另外一个 文件名+cleaned.dll,再用Reflector反编译这个dll就好Reflector用法主要用来反编译dll和exe用法1打开Reflector.exe View->add-Ins然后添加FileGenerator.dll 和 Reflec原创 2014-12-02 22:34:34 · 1076 阅读 · 0 评论 -
Unity协程(Coroutine)原理深入剖析再续
http://dsqiu.iteye.com/blog/2049743 Unity协程(Coroutine)原理深入剖析再续 By D.S.Qiu尊重他人的劳动,支持原创,转载请注明出处:http.dsqiu.iteye.com 前面已经介绍过对协程(Coroutine)的认识和理解,主要讲到了Unity引擎在执行协程(Corout转载 2015-01-29 12:26:45 · 1420 阅读 · 0 评论 -
C#中的yield return
4.1 迭代器块 一个迭代器块(iterator block)是一个能够产生有序的值序列的块。迭代器块和普通语句块的区别就是其中出现的一个或多个yield语句。 yield return语句产生迭代的下一个值。 yield break语句表示迭代完成。 只要相应的函数成员的返回值类型是一个枚举器接口或是一个可枚举接口,一个迭代器块就可以用作方法体、运算符体或访问器体。转载 2014-12-08 16:19:10 · 728 阅读 · 0 评论 -
C#、Unity网络通信中基于字节码的自定义协议解码,C#版ByteBuffer
http://www.oschina.net/code/snippet_42170_37516C#、Unity基于字节的网络通信中字节码解析类,类似java中的ByteBuffer,不过这个实现是参考的netty4中的ByteBuf类。因为网络通道中是高字节序列,所以本类没有考虑低字节序列。已在项目中使用,与java通信没问题using System; public转载 2015-05-06 16:20:58 · 2021 阅读 · 0 评论 -
我不知道的C#—字符串池机制
字符串具有值类型的特点对字符串,对同一个字符串大量修改或者对多个引用赋值同一个字符串对象时会产生大量的临时字符串对象,影响性能,但是CLR为我们做了一些工作来消除这些弊端。 对同一个字符串大量修改的问题可以使用StringBulid来解决这个问题,看看下面这个例子: private string item = "string"; public void TestString转载 2015-04-08 21:44:46 · 1388 阅读 · 0 评论 -
浅谈C# String对象
本文介绍C#中的string是一个引用类型,C# String对象是存放在堆上,而不是堆栈上的,因此,当把一个字符串变量赋给另一个字符串时,会得到对内存中同一个字符串的两个引用。AD:WOT2015 互联网运维与开发者大会 热销抢票大家都知道,C#中的string是一个引用类型,C# String对象是存放在堆上,而不是堆栈上的,因此,当把一个字符串变量赋给转载 2015-04-08 22:12:27 · 1116 阅读 · 0 评论 -
Unity3D中常用的数据结构总结与分
阅读目录1.几种常见的数据结构2.几种常见数据结构的使用情景来到周末,小匹夫终于有精力和时间来更新下博客了。前段时间小匹夫读过一份代码,对其中各种数据结构灵活的使用赞不绝口,同时也大大激发了小匹夫对各种数据结构进行梳理和总结的欲望。正好最近也拜读了若干大神的文章,觉得总结下常用的数据结构以供自己也能灵活的使用变得刻不容缓。那么还是从小匹夫的工作内容入手,就谈谈在平时使用U3D时经常转载 2015-03-21 23:59:38 · 11421 阅读 · 4 评论 -
异步编程(AsyncCallback委托,IAsyncResult接口,BeginInvoke方法,EndInvoke方法的使用小总结)
http://www.cnblogs.com/panjun-Donet/archive/2009/03/03/1284700.html让我们来看看同步异步的区别:同步方法调用在程序继续执行之前需要等待同步方法执行完毕返回结果异步方法则在被调用之后立即返回以便程序在被调用方法完成其任务的同时执行其它操作.NET框架基类库中有好几种类都可以提供同步和异步的方法调用。因为转载 2015-03-17 22:12:03 · 3316 阅读 · 0 评论 -
C#异步调用的应用实践浅谈
C#异步调用的应用实践最经公司工作需要调用一个外部的webservice,同时要将传出的数据进行保存,以自己以前的习惯,就打算逐步操作,失败啊,完全没考虑过用户体验效果,在同事指点下,意识到使用C#异步调用的好处,随便将自己找的一些资料留以保存,以戒后误!我们要明确,为什么要进行C#异步调用回调?众所周知,普通方法运行,是单线程的,如果中途有大型操作(如:读取大文件,大批量操作数据库,网络转载 2015-03-17 22:35:48 · 1069 阅读 · 0 评论