C#高级编程学习笔记(一)---C#核心

来源:互联网 发布:网易云请确保网络连接 编辑:程序博客网 时间:2024/05/16 01:53

C#核心

 

学会用 c#命令行编辑器csc.exe.cs文件进行编译,以及生成exe文件。

csc.exe文件在哪?我电脑的位置是在C:\Windows\Microsoft.NET\Framework\v4.0.30319

这时候大家都知道有了csc.exe文件,但是在cmd上还不能执行,问题是我们没有把路径保存在环境变量中

 

win8.1为例

右击我的电脑———点击属性———点击高级系统设置———环境变量———系统变量下有一个名字为path的变量———点击编辑,将电脑csc.exe所在的文件位置添加到path中就ok了。

这样就可以通过csc.exe方便的编译.cs文件。

 

 

类型推断  关键字var

int num = 0;var num = 0;

是等价的 

 

得到类型

名字.GetType;

Type  nameType  = name.GetType();

 

值引用 Vector类 

Vector x;

x = new Vector ();

x = null;

 

decimal类型 表示精度更高的浮点数

decimal d = 12.30M;(要把数字指定为decimal类型,而不是double float 或整型,要在数字后面加Mm))

 

Switch语句

switch(变量名)

{

Case A:( A为与变量名相同的类型)

执行;

break;

Default:

执行;

break;

}

 

foreach (int temp in ll)

{

. .

}

 

goto语句 跳转语句

goto Labell;

            Console.WriteLine("a");

        Labell:

            Console.WriteLine("b");

 

枚举

Public enum T

{

M=0;

A=1;

E=2;

}

 

 

using 和 类

单当一个类存在于两个名称空间中,使用时需要指定使用哪个类;

 

 

名称空间的 别名

NamespaceExample 类有一个方法 GetNamespace(),该方法调用的每个类都有的GetType()方法,以访问表示类的类型的Type对象。

 

多个Main() 的方法 

 

使用/main选项,其后跟Main()方法所属类的全名(包括名称空间),明确告诉编译器把哪个方法作为程序的入口点。

 

using System;

  

namespace Wrox

{

   class Client

   {

      public static int Main()

      {

         MathExample.Main();

         return 0;

      }

   }

  

   class MathExample

   {

      static int Add(int x, int y)

      {

         return x + y;

      }

  

      public static int Main()

      {

         int i = Add(5,10);

         Console.WriteLine(i);

         return 0;

      }

   }

}

C:\Users\一凡\Desktop\c#第八版\978118314425_Full Code\314425 ch02 code>csc Doubl

eMain.cs

Microsoft(R) Visual C# 编译器版本 4.0.30319.33440

用于 Microsoft(R) .NET Framework 4.5

版权所有 (C) Microsoft Corporation。保留所有权利。

 

DoubleMain.cs(7,25): error CS0017:

        程序“c:\Users\一凡\Desktop\c#第八版\978118314425_Full Code\314425 ch02

        code\DoubleMain.exe”定义有多个入口点:Wrox.Client.Main()”。请使用

        /main 参数编译以指定包含入口点的类型。

DoubleMain.cs(21,25): error CS0017:

        程序“c:\Users\一凡\Desktop\c#第八版\978118314425_Full Code\314425 ch02

        code\DoubleMain.exe”定义有多个入口点:Wrox.MathExample.Main()”。请使

        用 /main 参数编译以指定包含入口点的类型。

 

C:\Users\一凡\Desktop\c#第八版\978118314425_Full Code\314425 ch02 code>csc Doubl

eMain.cs /main:Wrox.MathExample

Microsoft(R) Visual C# 编译器版本 4.0.30319.33440

用于 Microsoft(R) .NET Framework 4.5

版权所有 (C) Microsoft Corporation。保留所有权利。

 

C:\Users\一凡\Desktop\c#第八版\978118314425_Full Code\314425 ch02 code>DoubleMai

n

15

这样就实现了多个Main()的使用。

 

Main()方法传递参数

如有ArgsExample.cs

ArgsExample /a /b /c

分别对main函数传递了a b c三个参数;

 

有关编译c#文件的更多内容

 

使用下述命令吧这个C#文件编译为.NET DLL

csc /t:library MathLibrary.cs

 

使用/r选项编译这个文件,使之指向新编译的DLL;

csc MathLibrary.cs /r.MathLibrary.DLL;

 

 

控制台I/O

{n},n为索引,后面的变量位置

Console.WriteLine(“{0}{1}{2}”,i,j,k)

 

{n,m} n为索引,m为宽度值

Console.WriteLine(“{0,4}{1,4}{2,4}”,i,j,k)//输出的为3个宽度为4的。。

 

XML文档

后面了解

 

C#预处理器指令

#define - #undef

#if #elif #else #endif

#waring (执行到#waring,会给用户显示后面的文本,之后编译继续进行)

#error(执行到#error,会给用户显示后面的文本,作为一条编译错误消息,然后立即退出编译,不会生成IL代码)

#region #endregion(将一段代码标记为有给定义的一块)

#line #line default

#pragma

 

2014.11.2

      

0 0
原创粉丝点击