我个人的c#入门总结【勿入】

前言

  在菜鸟教程写的笔记抽时间整理上来,一举双得??好久之前学的了 东西都忘的差不多

  C#是微软公司开发的,之前多用于.net 现在也用于.net core 。话说这个core不只是说起来,连打字都觉得烦的一匹。

 

<script src="https://cdn.jsdelivr.net/npm/vue@2.5.21/dist/vue.js"></script>

 

开始

  C# 是一种面向对象的编程语言。在面向对象的程序设计方法中,程序由各种相互交互的对象组成。相同种类的对象通常具有相同的类型,或者说,是在相同的 class 中。

  例如,以 Rectangle(矩形)对象为例。它具有 length 和 width 属性。根据设计,它可能需要接受这些属性值、计算面积和显示细节。

  原文章给出相应的案例 但是劣者觉得还是自己敲一边比较好,这里继续吐槽,mac电脑打字是真的不舒服(微笑脸)

  using让我想起万恶的c语言的include。namespace总的来说较为生疏,比python多了一层。大概的设计思路也能理解一些,但是不是特别清楚这么做的好处和目的。

using System;
namespace RectangleApplication{
    
    class Rectangle{
        double width;
        double length;
//这个函数较为意外,我还以为外类会用什么方法获取此类的信息,原来是写一个函数,也有点像是数据库调用数据的意思??我是多菜呀
public void AcceptRectangle(){ width = 3.2; length = 4.8; } //你要是换我,我肯定直接取把上个函数和这个合并,但是就不能更好提取长宽和面积了,只能说大佬就是大佬 public double getArea() {
    //这边有开始疯狂掉智商,明明是return了 我竟然写成了void 反智啊
return width*length; } public void showDetail() { Console.WriteLine("Length is {0}",length); Console.WriteLine("Widtg is {0}",width);
      //这里我调用getArea竟然没有加()我是真的人才 Console.WriteLine(
"Area is {0}",getArea()); } } class ExecuteRectangle {
    //这辈子吹出的牛有了,写代码不写main函数,还给【】后加了一个逗号,强还是我强啊
static void Main(String[] args){ Rectangle rect = new Rectangle(); rect.AcceptRectangle(); rect.showDetail(); Console.ReadLine(); } } }

 

成员变量:变量是class的属性或者数据成员,用于储存数据。(我觉得我需要去查一下数据成员的定义?)

标识符

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

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

 

 

C# 数据类型

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

  • 值类型(Value types)
  • 引用类型(Reference types)
  • 指针类型(Pointer types)

 

值类型

  值类型变量可以直接分配给一个值。它们是从类 System.ValueType 中派生的。值类型直接包含数据。比如 int、char、float,它们分别存储数字、字符、浮点数。当您声明一个 int 类型时,系统分配内存来存储值。(翻译:一种只等实例化了的类) 使用sizeof获取变量类型。

 

引用类型

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

  有点像指针,多个变量指向这个引用的时候,内存变量指向同一个位置。如果内存变量发生改变,那么引用他的变量也会改变。

 

区别与比较

  数据项的类型定义了存储数据需要的内存大小和组成该类型的数据成员。类型还决定了对象在内存中的存储位置——栈或堆

  类型有值类型和引用类型两种。二者的对象在内存的储存方式不同。值类型丶需要一段单独的内存,用于储存实际数据,所以只需要放入栈中。对于引用类型而言,实际数据存放在堆里,引用数据存放在栈里。

引申

  如果一个引用类型的实例名叫MyType,有两个成员,一个是值类型成员a,另一个引用类型成员b,那他们的储存方式其实很简单——全部储存在堆里。只不过是大的套小的,开辟一块空间,并列两个类型,a和b的引用部份并列。

  一般来说,常用的那些都是值类型,比如sbyte short int long等等。引用类型较多的是object string dynamic class interface delegate array

 

写不下去了 此贴太监

 

posted @ 2019-07-31 10:31  追随大智慧  阅读(1691)  评论(2编辑  收藏  举报