1. 程式人生 > >.NET學習之路(一)

.NET學習之路(一)

.NET FrameWork.NET框架)的兩大核心元件是:

1.CLR(Common  Language  Runtime)公共語言執行時,提供所有.NET應用程式執行的環境。

CLR又包含兩個組成部分

a.CLS(Common Language Specification)公共語言規範,所有的.net都遵循這個規則,遵循這個規則的語言在.Net框架下都可以實現互相呼叫。

b.CTS(Common type system)通用型別系統保證.Net開發中不同的語言資料型別之間互相相容。

2.FCL(.Net FrameWork  Class  Library) .Net FrameWork

類庫

值型別:不同的變數會分配不同的儲存空間儲存空間中儲存的是該變數的值

改變一個變數值不會影響另一個變數值

例如:        int zhang = 180;

int li = zhang;

li = 190;

Console.Write(zhang);//180

引用型別:賦值是把原物件的引用傳遞給另一個引用,兩個引用指向同一塊記憶體空間

例如:int[] zhang = newint[]{170,60 };

int[] li = zhang;

li[0] = 180;

li[1] = 70;

Console.WriteLine("張浩的身高是:"+zhang[0]);//180

Console

.WriteLine("張浩的體重是:"+zhang[1]);//70

*******************結構**************************

一.定義結構:

語法:訪問修飾符  struct  結構名

{

定義結構成員

}

注意!!!結構中可以有欄位,也可以由方法。結構是值型別。

例如:   public  struct  Student

 {

        public int id;        

        public int age;     //注意:結構中的欄位不能直接賦初值

        public void Show()

        {

              Console.WriteLine("ID:{0}\n

年齡:{1}",id,age);

        }

}

二:使用結構:

注意!!使用結構可以new  也可以不new

例如:

Student  stu;      //建立學生結構

  stu.id = 1001;  //給學號賦值

  stu.age = 20;   //給年齡賦值

 stu.Show();   

溫馨提示:當物件需要用較少的欄位來表示時,可以選用結構

因為結構是值型別,資料提取速度快

但是頻繁的賦值操作會佔用較大空間,所以在開發中多數情況下都定義為類!!!

**************************裝箱拆箱*****************************************

裝箱:將值型別送給引用型別拆箱:將引用型別轉換為值型別

       int  i = 123;

       object  num = i; //此步驟為裝箱

       int  j = (int) num;  //此步驟為拆箱拆箱要與值型別的變數型別統一

注意:應該儘量減少不必要的裝箱和拆箱。因為二者的儲存方式不同,轉換時效能損失較大

相關推薦

.NET學習()

.NET FrameWork(.NET框架)的兩大核心元件是: 1.CLR(Common  Language  Runtime)公共語言執行時,提供所有.NET應用程式執行的環境。 CLR又包含兩個組成部分 a.CLS(Common Language Specific

.Net Core學習()

日常 整體 get res 頁面 image setting 文字 body   前言:因為公司轉型需要,特地學習.NET Core。本來在我的計劃中.Net Core的學習應該沒有快就被執行的。一來是我想多補一點基礎和理論知識,再者就是我想攢點錢買臺好點的電腦再裝VS2

scala學習

項目 前綴 .org 特質 行為 java字節碼 java 類繼承 對象 所謂學習,那麽首先就先簡單介紹一下scala吧 1.scala的介紹 Scala 是一門多範式(multi-paradigm)的編程語言,設計初衷是要集成面向對象編程和函數式編程的各種特性。 S

視覺slam學習()看高翔十四講所遇到的問題

nes make 機器 cmake 編寫 直接 記錄 nbsp slam 目前實驗室做機器人,主要分三個方向,定位導航,建圖,圖像識別,之前做的也是做了下Qt上位機,後面又弄紅外識別,因為這學期上課也沒怎麽花時間在項目,然後導師讓我們確定一個方向來,便於以後發論文什麽

框架學習

學習工作當中用到了那麼多的框架,難免會想搞清楚這些框架的底層到底是怎樣實現的,藉此機會從簡單的寫起,嘗試著去實現一個框架   一,通過解析xml,獲取其中的欄位,用反射技術呼叫類中的方法   技術:dom4j,java反射 1,定義一個介面 package com.epro.f

OpenGL學習

第一篇部落格 QAQ 今天開始學OpenGL(好像之前學了點)有沒一起來搞的(滑稽) 求大佬帶飛 這裡分享個人的學習過程和心得(僅供參考)  如有不足之處望大家指出 =====================================================

【Nginx】學習 虛擬機器安裝

author:咔咔 wechat:fangkangfk   由於公司需求,得學Nginx了,下來就開始我學習Nginx的生涯   第一步那就是安裝虛擬機器了 這裡我就放一個百度網盤的地址,需要的加上面的微信要密碼 連結:https://pan.ba

TypeScript學習()

TypeScript語言內部主要被分為三層:語言層、編譯層、語言服務層。 每一個主要從層都有不同的用途:        語言層:實現所有TypeScript的語言特性。     &n

Git學習()-SSH公鑰配置

這篇文章是Git的學習之路的第一篇,學習Git是因為工作中需要重寫Activiti6.0原始碼,所以需要從Activiti GitHub官網下載相應資源,由於之前一直對Git的命令一知半解,所以打算趁著這個機會,好好學習一下Git相關知識。 一、從Git官網下載最新版本並在本地安裝 這一步就

服務計算學習 —— 使用 VirtualBox 讓 PC 提供雲桌面服務

使用 VirtualBox 讓 PC 提供雲桌面服務 隔了幾個月沒寫部落格了,作為潘哥的頭號粉絲,能選到他的服務計算課還是很開心的,好了,言歸正傳,回到課程了! 實驗目的 初步瞭解虛擬化技術

新手微擎(微贊)學習

 我剛接觸微擎沒多久,學習中遇到很多問題,走過很多彎路。遇到很多問題在網上也查不到,因此想把我自己的學習歷程寫出來供新手們參考(本人還是菜鳥一枚,文中錯誤之處,敬請指正!)        我以一個新手小白的角度來幫助想學習微擎的小夥伴指出(建議)一條路: 首先以我的理解說

從 Python到Tensorflow 學習()

從 Python到Tensorflow 學習之路(一) 最近畢業設計題目是研究對抗樣本,要用tensorflow來搭建神經網路,因此python必不可少,這個不是一個傳統的Python學習教程只是把學習Python過程中遇到的問題和經驗記錄下來(基於Python2.7),如果想

opengl學習,你好,視窗

QQ:609162385 連結:https://blog.csdn.net/cqltbe131421 讓我們試試能不能讓GLFW正常工作。首先,新建一個.cpp檔案,然後把下面的程式碼貼上到該檔案的最前面。 #include <glad/glad.h>

芝麻麻雀-Asp.Net學習

在使用.net framework 4.7.2寫asp.net mvc的過程中,由於使用nuget更新了一下系統相關的類庫,更新的類庫如下,升級到了4.3.0版本 導致問題如下:由於是系統新增的類

Kotlin學習(Kotlin語言簡介)

Kotlin語言的歷史 Kotlin語言是由JetBrains公司從2010年開始構思,2011年退出Kotlin專案,2012年將Kotlin專案開源,2016年釋出了一個穩定版本,所以說,Kotli

我的Linux學習()

       在大二的開始,還不算太晚的時間點,我決定成為一名網路安全工程師,於是決定先學習Linux,我主要從《Linux就該這麼學》和《鳥哥的Linux私房菜》以及看一些視訊來學習,在這裡會記錄我的學習經歷,學習中的收穫和遇到的困難,也會跟大家分享學習的心得。    

我的Python學習:Python學習路線

作為小白,在學習Python的時候,必然會走一定的彎路,有人在彎路上走丟了,有人走出了彎路。我就是屬於還未走出彎路的同學,所以我想談談我的Python學習之路。         我進入這個坑是因為這個最近幾年比較火,想必大家都知道吧,我開始學習Python

Python學習()----python和pycharm的安裝和首次使用

一、Pyhton的安裝:     1.(python官網下載地址)https://www.python.org/downloads/windows/    選擇自己需要的版本,這裡只是舉個例子(開啟來可能會比較慢) 2.下載完後,雙擊安裝

後臺學習():Java基礎回顧

         集合:          單列集合:                           Collection:單列集合的根介面                                    List:實現了List介面的集合類,具備的特點:有序、

我的spark學習(

2016.8.10 其實北京一年,我也一直在考慮我回所到底研究什麼方向,但都只是停留在想想的層次,最終也沒什麼結果,回來老師問了我的想法說,學分散式計算吧,讀博也可以,找工作也好找,文章也好發,我一想,這感情好啊,既符合我搞開發的興趣,文章也不難發,畢業了還有