C#基础知识

使用new操作符创建类的实例

生成form表单

(new Form()).ShowDialog();

结果如图

但是当我们跑以下程序时,结果仍然如上所示,实际上我们创建了两个实例,显示的是第二个实例,如何连续的操纵一个实例呢,我们就引入了引用变量这个概念

(new Form()).Text = "My Form";
(new Form()).ShowDialog();

使用引用变量,我们人为的Form一个变量,然后进行赋值,然后对我们设置的变量进行操作

Form myform;
myform = new Form();
myform.Text = "My Form";
myform.ShowDialog();

类(class)的三大成员

  1. 属性(Property)存储数据,组合起来表示类或对象当前的状态
  2. 方法(Method)由函数进化而来,表示类或对象能做什么
  3. 事件(Event)类或者对象通知其他类或对象的机制,为C#所特有。擅用事件机制

静态成员与实例成员

静态(Static)成员:在语义上表示他是”类的成员“。这个“类”与生俱来的成员。相当于固有属性

实例(非静态)成员:“对象的成员”

绑定(Binding):编译器把一个成员与类或对象绑定起来

构成C#的基本元素

  • 关键词(keyword)
  • 运算符
  • 标识符
  • 标点符号
  • 文本
  • 注释与空白

 关键字

表达基本的逻辑词汇

 运算符(Operators)

 标识符 (Identifier)

命名规则

命名约定

 值得注意的是,标识符可以用汉语

在命名时,我们为了保证程序的可读性,必须让一些命名有意义

类型系统

C#的五大数据类型

  • 类(Classes)
  • 结构体(Structures)
  • 枚举(Enumerations)
  • 接口(Interfaces)
  • 委托(Delegates)

 变量

变量的用途是存储数据,变量名表示变量的值在内存中的存储位置,每个变量都有一个类型,决定什么样的值能够存入变量

变量一共有七种:静态变量,实例变量,数组元素,值参数,引用参数,输出参数,局部变量

狭义的变量就是指局部变量,其他种类的变量都有自己约定的名称

静态变量和实例变量

public static int Amount;   //static静态成员,隶属于类,不是隶属于类的实例
public int Age;      //成员变量(实例变量)隶属于类的实例
public string Name;   

 数组

int[] array = new int[100];

声明变量

int a;
int a;
int c = a + b ;

 变量声明的格式

public static int Amount = 0;

总结一下,变量是以变量名所对应的内存地址为起点,以其数据类型所要求的存储空间为长度的一块内存区域。

方法

方法(method)的前身是c语言中的函数(function),方法是类的最基本的成员之一(最基本的成员只有两个,字段与方法),即函数在称为类的成员时就叫做方法了。方法表示类”能做什么事情“。

方法声明与方法调用

巧用方法,能隐藏复杂的逻辑,把大算法分解为小算法。

 调用方法时要与定义方法时的parameter相匹配

命名规范:以动词或者动词短语作为名字(保证可读性),首字母需要大写

using System;

namespace instanceand
{
    class Program
    {
        static void Main(string[] args)
        {
            Calculator c = new Calculator();
            Console.WriteLine(c.GetConeVolume(10, 3));
        }
    }
    class Calculator
    {
        public double GetcircleArea(double r)
        {
            return 3.14 * r * r;
        }
        public double GetCylinderVolume(double r, double h)
        {
            return GetcircleArea(r) * h;   //调用方法时,不用写double,写double时是在声明
        }
        public double GetConeVolume(double r,double h)
        {
            return GetCylinderVolume(r,h) / 3;
        }
    }
}

方法的重载(Overload)

方法签名:由方法的名称,类型形参的个数,每一个形参(从左至右的顺序)的种类,和类型(值,引用或输出)组成。方法签名不包括返回类型。

一下三种Add构成重载

重载决策:在调用时给定参数不同,选择一个最佳函数成员来实施调用

    class Calculator
    {
        public int Add(int a,int b)
        {
            return a + b;
        }
        public int Add(int a,int b,int c)
        {
            return a + b + c;
        }
        public double Add(double a,double b)
        {
            return a + b;
        }
    }

操作符

操作符概览(按照优先级由高到低排序)

 操作符来源于数学中的运算符,操作符不能脱离与他相关联的数据类型

优先级

只能用()来提高优先级,带有赋值功能的操作符的运算顺序是从右向左,其他都是从左向右。计算机语言的同优先级运算没有结合律。

x.y(点操作符)

成员访问操作符,可以访问外层名称空间中的子集名称空间,名称空间中的类型,类型中的静态成员,对象的成员。

System.IO.File.Create("D:\\HelloWorld.txt");

访问对象的成员

 Form myForm = new Form();
 myForm.Text = "Hello World";
 myForm.ShowDialog();

f(x):方法调用操作符

在调用方法时,必须要加圆括号,哪怕他没有参数

Console.WriteLine(x);

委托(Action)

上述说过在调用方法时需要加圆括号,但是有一个特例,就是在进行委托时。

委托:在做一件事时不亲自去做,而是交给别人去做。不用直接调用一个方法,通过委托简接调用。

Action myAction = new Action(c.PrintHello);

可以看到后面没加圆括号,我们只是把这个成员委托管理,并不想调用这个方法,之后可以间接调用这个方法。

myAction();

a[]:元素访问操作符

数据类型为整型,有十个数据

int[] myIntArray = new int[10];

数组内容 

int[] myIntArray = new int[] {1,2,3,4,5};

方括号中放置的为元素索引,索引不一定为整数

using System;

namespace instanceand
{
    class Program
    {
        static void Main(string[] args)
        {
            Dictionary<string, Student> stuDic = new Dictionary<string, Student>();
            for (int i = 1; i <= 100; i++)
            {
                Student stu = new Student();
                stu.Name = "s_" + i.ToString();
                stu.Score = 100 + i;
                stuDic.Add(stu.Name, stu);
            }

            Student number6 = stuDic["s_6"];
            Console.WriteLine(number6.Score);
        }
    }
    class Student
    {
        public string Name;
        public int Score;
    }
}

x++:后置增增

下述代码的结果为101,100,先让y=x,再让x=x+1

int x = 100;
int y = x++;
Console.WriteLine(x);
Console.WriteLine(y);

typeof

帮助我们查看一个数据的内部结构

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值