利用反射来调用一个类的带有out关键字参数的方法
先来看一个类:
public class ReflectDemoClass { public static void M(string s,out int i) { i = 1; Console.WriteLine("s={0},i
http://cyqdata.cn/cnblogs/article-detail-42831
c# checked unchecked 关键字,在需要的时候请记得用他们两位
checked 和 unchecked关键字用来限定检查或者不检查数学运算溢出的;如果使用了checked发生数学运算溢出时会抛出OverflowException;如果使用了unchecked则不会检查溢出,算错了也不会报错。
1. 一段编译没通过的代码
int a = int.MaxValue * 2;
以上
http://cyqdata.cn/cnblogs/article-detail-42748
浅谈Dynamic 关键字系列之四:dynamic为什么比反射快
Main方法如下:
static void Main(string[] args)
{
dynamic str = "abcd";
Console.WriteLine(str.Length);
Console.WriteLine();
Console.WriteLine(str.Substring(1));
Console.ReadLine
http://cyqdata.cn/cnblogs/article-detail-41358
浅谈Dynamic 关键字系列之三(下):ExpandoObject,DynamicObject,DynamicMetaObject
接上文:浅谈Dynamic关键字系列之三(上) 为什么TryXXX方法没有被调用?? 将DynamicProduct 中的name修饰符改为private: private string name; 可以在TrySetMember方法中设置断点,再次运行: 为什么访问修饰符是Public不调用TrySetMem
http://cyqdata.cn/cnblogs/article-detail-41319
浅谈Dynamic 关键字系列之三(上):ExpandoObject, DynamicObject, DynamicMetaObject
ExpandoObject:表示一个对象,该对象包含可在运行时动态添加和移除的成员。 dynamic dynEO = new ExpandoObject();
dynEO.number = 10;
dynEO.Increment = new Action(() => { dynEO.number++; });
Console.WriteLine(dynEO.number
http://cyqdata.cn/cnblogs/article-detail-41273
浅谈Dynamic 关键字系列之二:调用属性,方法,字段
新建类Product: class Product
{
public string name;
public int Id { get; set; }
public void ShowProduct()
{
Console.WriteLine("Id={0} ,Name={1}", Id, name);
http://cyqdata.cn/cnblogs/article-detail-41230
浅谈Dynamic 关键字系列之一:dynamic 就是Object
C# 4.0提供了一个dynamic 关键字,那么什么是dynamic,究竟dynamic是如何工作的呢? 从最简单的示例开始: static void Main(string[] args)
{
dynamic dyn = 1;
object obj = 1;
//在编译时将鼠标放到 &
http://cyqdata.cn/cnblogs/article-detail-41202
使用Hashtable实现简单的关键字过滤
这段时间开发一个聊天室,需要使用到关键字过滤的功能,需求如下: 1.将关键字替换成“*”; 2.支持过滤HTML,例如,S<span>B</span>也要过滤掉。 原本打算使用String.Replace来实现,但是这样的话,如果关键字很多,例如1000个,用以下方式: for(int i=0;i<1000;i++) {
http://cyqdata.cn/cnblogs/article-detail-41026
「分享」jquery标签(关键字)插件
基于工作,做了这么一个控件;
功能说明:按Enter或Tab確定標籤輸入完畢,雙擊文字可以編輯該標籤,單擊叉叉(×)表示刪除該標籤。
效果图如下:
利用CSS3做了点效果(結合示例中的CSS);
js代码:
$.fn.extend({
/*
**標籤控件
**功能:按Enter或Tab確定標籤輸入完畢,雙擊文字可以編輯該標籤,單擊叉叉(×)表示刪除該標籤
**tabContr
http://cyqdata.cn/cnblogs/article-detail-40512
C#4.0初探:dynamic 关键字
C#新增了dynamic关键字,正因为这一个小小的关键字,C#动态特性向前迈进了一大步。dynamic是一个类型关键字,声明为dynamic的类型与"静态类型"(这里的静态类型是指编译时确定的类型,下同)相比最大的特点它是"动态类型",它会运行时尝试调用方法,这些方法的存在与否不是在编译时检查的,而是在运行时查找,如果方法存在并且参数正确,会正常调用,否则会抛出Microsoft.CSharp.R
http://cyqdata.cn/cnblogs/article-detail-39563
一个简单的关键字过滤算法
早上看到老赵的《一个较完整的关键字过滤解决方案(上)》文章,讲到怎样在项目中嵌入过滤方案的问题,以及提到 xingd 和 sumtec 两位大师发表的系列互拼的文章,在此我也忍不住谈谈自己遇到的问题以及一个的简化版的算法。
因为过滤关键字机制到处可见,于是聪明的网友就会想到各种各样的方法突破,例如:
1、中文会用繁体字的方法避开关键字扫描2、在关键字中间插入无意思的特殊字符,例如 * &
http://cyqdata.cn/cnblogs/article-detail-39039
深入浅出多线程系列之八:内存栅栏和volatile 关键字
以前我们说过在一些简单的例子中,比如为一个字段赋值或递增该字段,我们需要对线程进行同步,
虽然lock可以满足我们的需要,但是一个竞争锁一定会导致阻塞,然后忍受线程上下文切换和调度的开销,在一些高并发和性能比较关键的地方,这些是不能忍受的。
.net framework 提供了非阻塞同步构造,为一些简单的操作提高了性能,它甚至都没有阻塞,暂停,和等待线程。
Memory Barrie
http://cyqdata.cn/cnblogs/article-detail-38521
浅谈C和C++中的const关键字
一.C语言中的const
const是C语言中保留的一个关键字,它用来限定一个变量是只读的,即不可变的。程序中使用const可以在一定程度上提高程序的健壮性,但是程序中使用过多的const,可能在对代码的阅读时增加一定的难度。
(1)用const修饰一般变量
http://cyqdata.cn/cnblogs/article-detail-36434
yield关键字 C#
前段时间,在一次面试中被问到yield关键字,当时懵了,回来查了一下,与诸君分享。 yield 关键字向编译器指示它所在的方法是迭代器块。 编译器生成一个类来实现迭代器块中表示的行为。 在迭代器块中,yield 关键字与 return 关键字结合使用,向枚举器对象提供值。 这是一个返回值,例如,在 foreach 语句的每一次循环中返回的值。 yield 关键字也可与 brea
http://cyqdata.cn/cnblogs/article-detail-36023
各浏览器中中关键字作为对象属性的差异
最近记录了各种各样的标识符 “同名” 现象,有 Javascript中同名标识符优先级 和 有name为action的表单元素时取form的属性action杯具了 。最近又碰到一个,后台同事返回了如下的JSON结构:
{default:{name:'jack'}}
在IE6/7/8中出错了,调试了很久才发现原因。细心的朋友获取已经发现了,default不是JS的关
http://cyqdata.cn/cnblogs/article-detail-35932