c#知识总结1

一、C#程序结构

一个c#程序主要包括以下部分

①命名空间声明

②一个class

③class方法

④class属性

⑤一个main方法

⑥语句 和 表达式 以及 注释

简单的“Helloworld”程序

using System;
namespace HelloWorldApplication
{
   class HelloWorld
   {
      static void Main(string[] args)
      {
         /* 我的第一个 C# 程序*/
         Console.WriteLine("Hello World");
         Console.ReadKey();
      }
   }
}

运行结果为

Hello World

各部分的解释

  • 程序的第一行 using System; - using 关键字用于在程序中包含 System 命名空间。 一个程序一般有多个 using 语句。(在任何c#程序中的第一条语句
  • 下一行是 namespace 声明。一个 namespace 是一系列的类。HelloWorldApplication 命名空间包含了类 HelloWorld
  • 下一行是 class 声明。类 HelloWorld 包含了程序使用的数据和方法声明。类一般包含多个方法。方法定义了类的行为。在这里,HelloWorld 类只有一个 Main 方法。
  • 下一行定义了 Main 方法,是所有 C# 程序的 入口点Main 方法说明当执行时 类将做什么动作。
  • 下一行 /*...*/ 是注释
  • Main 方法通过语句 Console.WriteLine("Hello World"); 指定了它的行为。

    WriteLine 是一个定义在 System 命名空间中的 Console 类的一个方法。该语句会在屏幕上显示消息 "Hello, World!"。

  • 最后一行 Console.ReadKey(); 是针对 VS.NET 用户的。这使得程序会等待一个按键的动作,防止程序从 Visual Studio .NET 启动时屏幕会快速运行并关闭。

注意事项

  • C# 是大小写敏感的。
  • 所有的语句和表达式必须以分号(;)结尾。
  • 程序的执行从 Main 方法开始。
  • 与 Java 不同的是,文件名可以不同于类的名称。

二、C#基本语法

using关键字:using System;

class关键字:用与声明一个类;

注释:/*...*/ 或 //;

成员变量:变量是类的属性或数据成员,用于存储数据(length 和 width);

成员函数:函数是一系列执行指定任务的语句。类的成员函数是在类内声明的(AcceptDetailsGetArea 和 Display);

实例化一个类:类 ExecuteRectangle 是一个包含 Main() 方法和实例化 Rectangle 类的类;

C#关键字:

关键字是 C# 编译器预定义的保留字。这些关键字不能用作标识符,但是,如果您想使用这些关键字作为标识符,可以在关键字前面加上 @ 字符作为前缀。

在 C# 中,有些标识符在代码的上下文中有特殊的意义,如 get 和 set,这些被称为上下文关键字(contextual keywords)。

下表列出了 C# 中的保留关键字(Reserved Keywords)和上下文关键字(Contextual Keywords):

 

 

保留关键字
abstractasbaseboolbreakbytecase
catchcharcheckedclassconstcontinuedecimal
defaultdelegatedodoubleelseenumevent
explicitexternfalsefinallyfixedfloatfor
foreachgotoifimplicitinin (generic
modifier)
int
interfaceinternalislocklongnamespacenew
nullobjectoperatoroutout
(generic
modifier)
overrideparams
privateprotectedpublicreadonlyrefreturnsbyte
sealedshortsizeofstackallocstaticstringstruct
switchthisthrowtruetrytypeofuint
ulonguncheckedunsafeushortusingvirtualvoid
volatilewhile     
上下文关键字
addaliasascendingdescendingdynamicfromget
globalgroupintojoinletorderbypartial
(type)
partial
(method)
removeselectset  

简单的“Rectangle”程序

using System;
namespace RectangleApplication
{
    class Rectangle
    {
        // 成员变量
        double length;
        double width;
// 成员函数
public void Acceptdetails() { length = 4.5; width = 3.5; } public double GetArea() { return length * width; } public void Display() { Console.WriteLine("Length: {0}", length);//此处{0}起到了占位符的作用,将后面的值放在{0}这个地方 Console.WriteLine("Width: {0}", width); Console.WriteLine("Area: {0}", GetArea()); } } class ExecuteRectangle//实例化的类 { static void Main(string[] args) { Rectangle r = new Rectangle(); r.Acceptdetails(); r.Display(); Console.ReadLine(); } } }

运行结果

Length: 4.5
Width: 3.5
Area: 15.75

三、 C#数据类型

  • 值类型(Value types)
  • 引用类型(Reference types)

对象(object)类型:可以被分配任何其它类型的值,需要进行类型转换。

装箱:一个值类型转换成为对象类型。

拆箱:对象类型转换成为值类型。

object obj;
obj = 100; // 这是装箱

动态(dynamic)类型:由于将任何类型的值存储在动态数据类型变量中。

声明动态类型的方法:

dynamic <variable_name> = value;//格式
dynamic d = 20;//例子

字符串(string)类型:给变量分配任何字符串值。

1、两种分配形式:引号(“”)和@引号(@“”)。

String str = "C#";
@"C#";

2、string字符串前加@(称作“逐字字符串”)将转义字符(\)当作普通字符对待。

string str = @"C:\Windows";
string str = "C:\\Windows";//这两句相互等价

3、@字符串中可以任意换行,换行符和缩进空格都计算在字符串长度之内。

string str = @"<script type=""text/javascript"">
    <!--
    -->
    </script>";

 

  • 指针类型(Pointer types)

 指针类型变量存储另一种类型的内存地址。

声明指针类型的方法

type* identifier;//格式
char* cptr;//例子
int* iptr;//例子

 

转载于:https://www.cnblogs.com/lk0823/p/5878133.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值