c# 基础学习 2

来源:互联网 发布:csrf攻击php 编辑:程序博客网 时间:2024/05/21 21:45


1
抽象类在某种程度上与接口类似,但是,它们大多只是用在当只有少数方法由基类声明由派生类实现时。
interface IMyInterface
{
    void MethodToImplement();
}
以上代码定义了接口 IMyInterface。通常接口命令以 I 字母开头,这个接口只有一个方法 MethodToImplement(),没有参数和返回值,当然我们可以安装需求设置参数和返回值。


2
命名空间
namespace;
using System;
namespace first_space
{
class namespace_cl
{
      public void func()
{
       Console.WriteLine("Inside first_space");
}
}

}


namespace second_space
{
class namespace_cl
{
 public void func()
{
 Console.WriteLine("Inside second_space");
}  
}
}  

 

class TestClass
{
   static void Main(string[] args)
{
first_space.namespace_cl fc = new first_space.namespace_cl();
second_space.namespace_cl sc = new second_space.namespace_cl();
fc.func();
sc.func();
Console.ReadKey();
}
}

输出
Inside first_space

Inside second_space



3
datelist[dataid]=(object)data

4
在 C# 中,预处理器指令用于在条件编译中起作用。与 C 和 C++ 不同的是,它们不是用来创建宏。一个预处理器指令必须是该行上的唯一指令。


5

#define DEBUG
#define VC_V10
using System;
public class TestClass
{
public static void Main()
{
#if (DEBUG && !VC_V10)
Console.WriteLine ("DEBUG is defined");
#elif(!DEBUG && VC_V10)
Console.WriteLine("DEBUG is defined");
#endif
Console.ReadKey ();
}
}


6
public virtual void WriteByte(
byte value
)
将一个字节写入流内的当前位置,并将流内的位置向前提升一个字节。

7
特性
是用于在运行时传递程序中各种元素(比如类、方法、结构、枚举、组件等)的行为信息的声明性标签


属性 
它们使用 访问器(accessors) 让私有域的值可被读写或操作。
public class Person
{
private string _name;
public string Name
{
get { return _name; } //可以通过 Person的实例来访问Name,返回私有变量_name的值
private set { _name = value; }//不允许外部赋值,只能在Person内部赋值,value就是赋过来的值
}
}
例如 若无private
person.Name="abcd"  value="abcd"  _name="abcd"

9
索引器(Indexer) 允许一个对象可以像数组一样被索引
element-type this[int index] 

10 
委托
是存有对某个方法的引用的一种引用类型变量。引用可在运行时被改变。
public delegate int MyDelegate (string s);
委托的多播
委托对象可使用 "+" 运算符进行合并。一个合并委托调用它所合并的两个委托。只有相同类型的委托可被合并。"-" 运算符可用于从合并的委托中移除组件委托。
         

// 创建委托实例
NumberChanger nc;
NumberChanger nc1 = new NumberChanger(AddNum);
NumberChanger nc2 = new NumberChanger(MultNum);
nc = nc1;
nc += nc2; // 调用多播
nc(5);先将5带入AddNum中 ,然后再带入MultNum


11
扩展

http://www.cnblogs.com/lxblog/archive/2013/04/25/3041826.html


12

System.Action 无返回值
System.Func 有返回值


原创粉丝点击