• C# 2008核心编程(20130713)


    C# 2008引入了一些新的东西如LINQ、WCF、WPF,其中由LINQ引入的新的特征包括lambda表达式、扩展方法、表达式树(表达式目录树),匿名对象、隐式类型等。

    每个源文件都是一个编译单元

    using 指令:隐式的使用命名空间,为命名空间创建别名。

    using指令必须放在一个名称空间内的第一个成员之前。

    如果引用的一个dll中包含一个Anamespace.B.namespace.ClassC.MethodD(),在工程中同样包换一个Anamespace.B.namespace.ClassC.MethodD()。如果想调用dll中的MethodD()而不是工程中的MethodD()可以使用extern alias为程序集创建别名。在工程中声明 extern alias Test,调用方法时使用Test::Anamespace.B.namespace.ClassC.MethodD(),编译工程时使用csc Program.cs /r:Test=*.dll,或者添加引用时设置属性

     1 using System;
     2 using System.Collections.Generic;
     3 using System.Linq;
     4 using System.Text;
     5 using System.Threading.Tasks;
     6 
     7 namespace ClassLibraryTest
     8 {
     9     namespace Test
    10     {
    11         public class Class1
    12         {
    13             public static void MethodA()
    14             {
    15                 Console.WriteLine("ClassLibraryTest.Test.Class1.MethodA");
    16             }
    17         }
    18     }
    19 }
     1 extern alias test;
     2 using System;
     3 using System.Collections.Generic;
     4 using System.Linq;
     5 using System.Text;
     6 using System.Threading.Tasks;
     7 
     8 
     9 namespace ConsoleApplicationReference
    10 {
    11     class Program
    12     {
    13         static void Main(string[] args)
    14         {
    15             test::ClassLibraryTest.Test.Class1.MethodA();
    16             Console.ReadKey();
    17         }
    18     }
    19 }
    20 
    21 namespace ClassLibraryTest
    22 {
    23     namespace Test
    24     {
    25         public class Class1
    26         {
    27             public static void MethodA()
    28             {
    29                 Console.WriteLine("NOClassLibraryTest.Test.Class1.MethodA");
    30             }
    31         }
    32     }
    33 } 

    Main函数有四种签名:static void Main()

                                 static int Main()

                                 static void Main(string [] args)

                                 static int Main(string [] args)

    Main函数必须为静态的且为私有的,如果不传递任何参数,args也不是null,但数组长度为零,其返回值在内部缓存起来供进程间通信使用,退出代码存储在进程环境块(Process Environment Block)中,可以通过GetExitCodeProcess应用程序编程接口进行访问。

    如果程序中有两个Main函数可以使用编译器指定使用哪一个:csc /main:AnameSpace.BClass main.cs.

    可空类型:int? a=null;增加了HasValue和Value两个属性,当为空的时候HasValue为false;

    空结合运算符(??) variable ?? value,如果可空类型包含一个值,则表达式等于该值,如果为空,则表达式为value.

  • 相关阅读:
    进程与线程的区别
    开启线程的两种方式
    线程
    生产者消费者模型(重要)
    队列
    互斥锁
    守护进程(了解)
    Process对象的其它方法与属性(join)
    僵尸进程与孤儿进程
    Servlet
  • 原文地址:https://www.cnblogs.com/chunchengwuchu/p/3188286.html
Copyright © 2020-2023  润新知