1、使用关键字readonly ,表示这个字段只能在执行构造函数的过程中赋值,或者由初始化语句赋值

2、.net4.0新增一个  Tuple 类,代表一个有序的N元组。可以调用Tuple.Create静态方法或使用new 关键字直接创建一个Tuple对象,.net基类库中定义了拥有1-7个泛型参数的泛型Tuple。 作用:可以使用Tuple对象作为方法的返回值。可以很容易地包含多个结果。

原文链接

public class Point
{
public int X { get; set; }
public int Y { get; set; }
} //the user customer data type.
Point p = new Point() { X = , Y = };
//use the predefine generic tuple type.
Tuple<int, int> p2 = new Tuple<int, int>(, ); //
Console.WriteLine(p.X + p.Y);
Console.WriteLine(p2.Item1 + p2.Item2);
//1 member
Tuple<int> test = new Tuple<int>();
//2 member ( 1< n <8 )
Tuple<int, int> test2 = Tuple.Create<int, int>(,);
//8 member , the last member must be tuple type.
Tuple<int, int, int, int, int, int, int, Tuple<int>> test3 = new Tuple<int, int, int, int, int, int, int, Tuple<int>>(, , , , , , , new Tuple<int>()); //
Console.WriteLine(test.Item1);
Console.WriteLine(test2.Item1 + test2.Item2);
Console.WriteLine(test3.Item1 + test3.Item2 + test3.Item3 + test3.Item4 + test3.Item5 + test3.Item6 + test3.Item7 + test3.Rest.Item1);
//1 member
Tuple<int> test = new Tuple<int>();
//2 member ( 1< n <8 )
Tuple<int, int> test2 = Tuple.Create<int, int>(,);
//8 member , the last member must be tuple type.
Tuple<int, int, int, int, int, int, int, Tuple<int>> test3 = new Tuple<int, int, int, int, int, int, int, Tuple<int>>(, , , , , , , new Tuple<int>()); //
Console.WriteLine(test.Item1);
Console.WriteLine(test2.Item1 + test2.Item2);
Console.WriteLine(test3.Item1 + test3.Item2 + test3.Item3 + test3.Item4 + test3.Item5 + test3.Item6 + test3.Item7 + test3.Rest.Item1);

3、.NET 4.0提供了一个大整数类型 BigInteger (位于System.Numerics中),这个类型可以表示任意大的整数。

4、string是引用类型。 但却可以用 "=="来比较串的内容,是因为string内部重载了==运算符。

string类对象的加法运算是通过在内部调用string类的静态方法concat实现的。

5、类的构造函数是依附于对象的,因此一般不用它来初始化类的静态字段(或属性)。初始化类静态成员的工作由类的“静态构造函数”完成。

类的静态构造函数只能调用一次,其调用时机为第一次访问类的静态字段时。

6、当反汇编SL程序集时,Reflector可能会弹出对话框报告 缺少程序集,这时,可以到 "\Program Files\Microsoft Silverlight\版本号 或

"\Program Files\Microsoft\SDKs\Silverlight\版本号\Libraries\Client"下去找。

7、所有的.net framework可视化窗体控件的预定义事件,都是某一对应的“事件名+Handler”委托类型的变量。与此事件相关的信息封装在“事件名+Args"类型的事件参数中,此事件参数对象派生自EventArgs.

8、在比较两个浮点数是否相等时,不能直接使用 “==”号,而必须检测两数之差。

9、使用VS自带的 ildasm 可以把.net类库反编译成IL中间语言。(位于Program Files\Microsoft SDKs\Windows\V7.0A\bin)

10、使用VS20101自带的 Dotfuscator Software Services 可以保护和混淆DLL,使不能反编译,让代码不被恶意利用。

[该功能实际上很鸡肋,需要付费才能享用更多功能]

11、所以值类型都继承自一个特殊的类ValueType

12、建议使用stringBuilder 来代替string 实现字符串连接等费性能的操作。

更多基础知识可以点击这里学习,泛型委托,lambda

C# 基础知识和VS2010的小技巧总汇(2)[转]的更多相关文章

  1. C# 基础知识和VS2010的小技巧总汇

    看了一些基础视频,才发现自己的基础比较薄弱,有很多基础知识都不知道.这里总汇一些基础知识. 1: foreach不仅可以作用于list类的索引集合,还可以遍历dictionary类,这一点比for更简 ...

  2. scrapy基础知识之 pycharm 调试小技巧:

    在项目根目录下新建main.py文件,用于调试 from scrapy.cmdline import executeexecute(["scrapy","crawl&qu ...

  3. VS2010调试小技巧

    在VS下做开发的时候我们进行调试的时候路径是这个样子的:http://localhost:端口号/项目名称/index.aspx 但是发布到服务器上面的时候却是这个样子的:http://www.xxx ...

  4. 数据仓库基础(十一)Informatica小技巧(2)

    本文转载自:http://www.cnblogs.com/evencao/p/3152384.html 1.User shortcuts:shortcuts能实现快捷方式的复用.快捷方式可以根据源的变 ...

  5. 数据仓库基础(九)Informatica小技巧(1)

    本文转载自:http://www.cnblogs.com/evencao/p/3148373.html link path:查看某个字段的来源去处,非常有参考的价值.右击你想要看的字段,选择 sele ...

  6. Mysql小技巧总汇

    1.datetime类型字段格式化 SELECT DATE_FORMAT(date,'%Y-%m-%d %h:%m:%s') date FROM message; 结果: +------------- ...

  7. 数据库和SQL面试题基础知识(持续更新)

    数据库方面基础知识复习 常问小问题: 一.like查询大小写问题: sql查询结果去重 SELECT distinct name FROM 表:平均数avg 一.like查询大小写问题: ①用bina ...

  8. 掌握这个Python小技巧,轻松构建cytoscape导入文件

    今天小编和大家分享如何借助Python脚本轻松构建cytoscape导入文件.Cytoscape是一个非常适合展示各种相互作用关系的可视化软件. 具体来说就是可以用于蛋白互作网络的展示,miRNA与蛋 ...

  9. java基础知识小总结【转】

    java基础知识小总结 在一个独立的原始程序里,只能有一个 public 类,却可以有许多 non-public 类.此外,若是在一个 Java 程序中没有一个类是 public,那么该 Java 程 ...

随机推荐

  1. android 多进程 Binder AIDL Service

    本文參考http://blog.csdn.net/saintswordsman/article/details/5130947 android的多进程是通过Binder来实现的,一个类,继承了Bind ...

  2. spring实战笔记6---springMVC的请求过程

    之前有一次在面试其中被问到了这个问题.当时说得不是非常清楚,有些细节的地方想不起来了.所以在这里从新回想和总结一下SpringMVC的起步.请求的运行过程. 在SpringMVC其中.跟请求(Requ ...

  3. linux入门基础——linux软件管理RPM

    由于linux入门基础是基于CentOS解说的,讲的是CentOS上的软件包管理.ubuntu的软件包管理有这些:ubuntu软件包管理,包管理指南,ubuntu软件包管理. linux软件管理:RP ...

  4. 嵌入式开发之davinci--- 8127 中camer 和 capture link 的区别

    (1)camera link (2)capture link (3)两者区别 (1)camera link 走的是isp iss link采集的得到的数据,适用于ipnc 框架 (2)capture ...

  5. Mac下Apache+MySQL+PHP安装

    max下是自带有Apache和php的服务器的,不需要另外安装,本文就对相关配置进行介绍. 第一:Apache 在终端中输入,下面指令即可启动Apache服务器: //启动 sudo apachect ...

  6. java反射(1)

    反射反射,程序员的快乐. 第一次了解反射这个概念是从<<大话设计>>中所了解到的.当时只是对概念的模糊了解,具体对它的机制并不清楚.最近在学习并实践SSH框架,其中Spring ...

  7. java 使用xom对象数据序列化为xml、反序列化、Preferences相关操作小案例

    package org.rui.io.xml; import java.io.BufferedOutputStream; import java.io.FileOutputStream; import ...

  8. 揭开自然拼读法(Phonics)的神秘面纱

    揭开自然拼读法(Phonics)的神秘面纱 自然拼读法  (Phonics),是指看到一个单词,就可以根据英文字母在单词里的发音规律把这个单词读出来的一种方法.即从“字母发音-字母组合发音-单词-简单 ...

  9. ACTION 关联表之间查询语句 SQL语句写法

    /** EquUseRecord * @author cll * @return * @右边菜单中的使用记录操作 */ public String QueryAllEquUserecordAllInf ...

  10. 并不对劲的bzoj4197:loj2131:uoj129:p2150:[NOI2015]寿司晚宴

    题目大意 有两个集合\(S_1,S_2 \subseteq [2,n] (n\leq 500)\),且对于\(\forall x\in S_1,y\in S_2 , gcd(x,y)=1\) 求\(S ...