【c#】学习笔记之c#基础知识(一)

一、c#简介

c#成为一种广泛应用的准也语言的原因:

  • 现代的、通用的编程语言
  • 面向udixiang
  • 面向组件
  • 容易学习
  • 结构化语言
  • 它产生高效率的程序
  • 它可以在多种计算机平台上演绎
  • .Net 框架的一部分

c#的一些重要功能:

  • 布尔条件
  • 自动垃圾回收
  • 标准库
  • 组件版本
  • 属性和事件
  • 委托和事件管理
  • 易于使用的泛型
  • 索引器
  • 条件变异
  • 简单的多线程
  • LINQ和Lambda表达式
  • 集成Windows

二、程序结构

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

  1. 命名空间声明
  2. 一个 class
  3. Class 方法
  4. Class 属性
  5. 一个 Main 方法
  6. 语句 & 表达式
  7. 注释

一个简单的实例如下:

using System;//命名空间

//namespace里包含了一系列的类
namespace Test1_1 
{
    //类包含了程序使用的数据和方法声明
    class HelloWorld 
    {
    //Main是c# 程序的入口点
        static void Main(string[] args) 
        {
            Console.WriteLine("Hello World");
            //针对VS.NET用户,防止屏幕快速运行并关闭
            Console.ReadKey(); 
        }
    }
}

注意:
c# 是大小写敏感的
所有的语句和表达式必须以分号结尾(与python不同)
程序的执行从Main方法开始
文件名可以不同于类的名称(与java不同)

三、c# 基本语法

以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);
            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

using关键词
用于在程序中包含命名空间,一个程序可以包含多个 using语句。
在c# 程序中的第一条语句都是“using System”。

class关键词
用于声明一个类。

c# 中的注释
单行注释用“//”表示。例如:

/* This program demonstrates
The basic syntax of c# programming
Language */

多行注释以/*开始,并以/*终止。例如:

}//end class Rectangle

成员变量
变量是类的属性或数据成员,用于存储数据。如类Rectangle有两个成员变量:length和width。

成员函数
函数是一系列执行指定任务的语句。类的成员函数式在类内声明的。如类Rectangle包含了三个成员函数:AccepDetails()、GetArea()、Display()。

标识符
标识符是用来识别类、变量、函数或其他用户定义的项目。在c# 中,类的命名必须遵循如下基本规则:

  1. 必须以字母、下划线或@开头,后面可以跟一系列的字母、数字、下划线、@
  2. 第一个字符不能是数字
  3. 必须不包含任何嵌入的空格或符号,比如 ? - +! # % ^ & * ( ) [ ] { } . ; : " ’ / \
  4. 不能是c# 关键词,除非它们有一个@前缀。例如,@if 是有效的标识符,但if不是
  5. 必须区分大小写
  6. 不能与c# 的类库名相同

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

保留关键字:

abstrat as base bool break byte case catch char
checked class const continue decimal default delegate do double
else enum event explicit exterm false finally fixed float
for foreach goto if implicit in int interface internal
is lock long namespace new null object operator out
override params private protected public readonly ref return sbyte
sealed short sizeof stackalloc static string struct suitch this
throw true trry typeof uint ulong unchecked unsafe ushort
using virtual void while.

上下文关键字:

add alias ascending descending dynamic from get global group
into join let orderby partial remove select set

四、数据类型

在c# 中,变量分为以下几种类型:

  • 值类型
  • 应用类型
  • 指针类型

值类型
值类型变量可以直接分配给一个值。它们是从类System.ValueType中派生的。
值类型直接包含数据。比如int、char、float,它们分别存储数字、字符、浮点数。当声明一个int类型时,系统分配内存来存储值。
如需得到某个类型的具体尺寸,可以使用sizeof() 方法,产生以字节为单位的存储尺寸。

using System;

namespace DataTypeApplication
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Size of int:{0}", sizeof(int));
            Console.ReadLine();
        }
    }
}

输出结果为:

Size of int4

引用类型
引用类型不包含存储在变量的实际数据,但它们包含对变量的引用。

1.对象(Object)类型
是c# 通用类型中所有数据类型的终极基类,对象类型可以被分配任何其他类型的值,分配值之前,需先进行类型转换。
分箱:一个值类型转换为对象类型。
拆箱:一个对象类型转换为值类型。
如:

object obj;
obj = 100//装箱

2.动态(Dynamic)类型
可以存储任何类型的值在动态数据类型中,这些变量的类型检查是在运行时发生的。
声明动态类型的语法:

dynamic <varible_name> = value;

例如:

dynamic d = 20;

动态类型与对象类型相似,但是对象类型的变量检查时在编译时发生的,而动态类型变量的检查时在运行时发生的。

3.字符串(String)类型
允许给变量分配任何字符串值,它是从对象类型派生的。字符串类型的值可以通过两种形式进行分配:引号和@引号
例如:

String str = "runoob.com";
@"runoob.com"   //一个引号字符串

string str = @"c:\Windows";
string str = "C:\\Windows";//这两行代码是等价的

//@字符串可以任意换行,换行符及缩进空格都计算在长度之内。
string str = @"
                    
                    

你可能感兴趣的:(学习笔记)