C#基礎知識(一)

一、C#程序結構
《1》命名空間的聲明(namespace declaration)
《2》一個class
《3》class方法
《4》class屬性
《5》一個main方法
《6》語句(statements)&表達式(Expressions)
《7》注釋
注:C#文件的后綴為.cs
二、C#的基本語法
《1》using關鍵詞 using system;
《2》class關鍵詞 class關鍵字用于聲明一個類
《3》C#中的注釋,注釋用于解釋代碼,編譯器會忽略
多行注釋/**/ //
《4》成員變量:變量是類的屬性或數據成員,用于存儲數據
eg:double length; double width;
《5》成員函數:函數是執行一系列指定任務的語句,類的成員函數是在類內聲明的。
eg:public double GetArea(){
return length*width;
}
《6》實例化一個類
ExecuteRectangle包含Main()方法和實例化Rectangle類的類;

eg:class ExecuteRectangle
{
static void  Main(string[] args)
{Rectangle r=new Rectangle();r.Display();
}
}

《7》標識符:用來識別類,變量函數或任何其他的用戶定義的項目,在C#中類的命名必須遵循以下六點;

《1》標識符必須以字母,下劃線或者@開頭,后面可以跟一系列的字母;
《2》標識符的第一個字符不能是數字。
《3》標識符必須不包含任何嵌入的空格和符號。
《4》標識符不能是C#關鍵字除非他們有一個@前綴。
《5》標識符必須區分大小寫。
《6》不能與C#類庫的名稱相同。

《8》C#關鍵字:關鍵字不能用作標識符,但是如果你想使用這些關鍵字作為標識符,可以在關鍵字前面加上@字符作為前綴;
三、C#數據類型
C#數據類型分為三種:值類型,引用類型,指針類型;
**如果需得到一個類型或者一個變量在特定平臺上的準確尺寸,才可以使用sizeof方法;
表達式(sizeof(type))產生以字節為單位存儲對象或類型的存儲尺寸;

值類型:
bool ,byte,char,decimal,double,float等等。
當一個值類型轉換為一個引用類型的時候---裝箱
當一個對象轉換為值類型時候-----拆箱

四、C#運算符
++a先進行自增運算在賦值;
--a先進行自減運算在賦值;

A=20  B=10
+  A+B=30;
-  A-B=10;
*  A*B=200;
/  A/B=2;
%  A %B=0;取模運算,先除后取余;
++ A++=21 自增運算,整數后加一;
-- A--=19 自減運算,整數后減一;

其它運算符:

sizeof()返回數據類型的大小 sizeof(int) 4
typeof()返回class的類型  typeof(StreamReader)
&返回變量的地址 &a;將得到變量的實際地址
*變量的指針   *a;將指向一個變量
?:條件表達式  如果條件為真?則為x:否則為y
is判斷對象是否為某一類型   if(Ford is Car)檢查car是否是Car類的一個對象。
as  強制轉換即使轉換失敗也不會拋出異常。

C#中的運算優先級
右括號先括號,后乘除在加減,然后位移在關系,邏輯完后條件最后一個逗號;
五、C#判斷

《1》if語句
《2》if...else語句
《3》嵌套if語句
《4》switch語句
《5》嵌套switch語句
《1》while循環
《2》for/foreach循環
《3》do...while循環
《4》嵌套循環

循環控制語句
《1》break:終止loop或者switch語句,程序流將繼續執行緊接著loop或者switch的下一條語句;
《2》Continue:跳過本輪循環開始下一輪循環;

六、封裝
封裝被定義為把一個或者多個項目封閉到一個物理的或者邏輯的包中,封裝是為了防止對實現細節的訪問。
抽象和封裝是面向對象程序設計的相關特性,封裝使開發者實現所需級別的抽象,抽象允許相關信息可視化,C#封裝根據具體的需要,設置使用者的權限,并且通過訪問修飾符來實現。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/35617.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/35617.shtml
英文地址,請注明出處:http://en.pswp.cn/news/35617.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【設計模式】橋接模式

橋接(Bridge)是用于把抽象化與實現化解耦,使得二者可以獨立變化。這種類型的設計模式屬于結構型模式,它通過提供抽象化和實現化之間的橋接結構,來實現二者的解耦。 這種模式涉及到一個作為橋接的接口,使得…

C++ 網絡編程項目fastDFS分布式文件系統(二)-redis部分

目錄 1. 數據庫類型 1.1 基本概念 1.2 關系/非關系型數據庫搭配使用 2. Redis 2.1 基本知識點 2.2 redis常用命令 - String類型 - List類型 - Set類型 - SortedSet 類型 - Hash類型 Key 相關的命令 2.3 redis配置文件 2.4 redis數據持久化 3 hiredis的使用 1. 數據…

手搓vue3組件_0,打包配置

打包后引入項目是發現報錯: Cannot read properties of null (reading isCE) TypeError: Cannot read properties of null (reading isCE)這個是由于vue版本沖突問題, 這里我引入了自己打包的ui組件庫,但是ui組件庫中打包進入了自己的vue,那么在此時使用時,如果你引入的自己的組…

原生js發送ajax請求---ajax請求篇(一)

在原生js中我們使用的是XMLHttpRequest對象來發送ajax請求 主要步驟就是: 1.創建XMLHTTPRequest對象 2.使用open方法設置和服務器的交互信息 3.設置發送的數據,開始和服務器端交互 4.注冊事件 5.更新界面 (1) get方式 //步驟一…

使用python對圖像加噪聲

加上雨點噪聲 import cv2 import numpy as npdef get_noise(img, value10):#生成噪聲圖像>>> 輸入: img圖像value 大小控制雨滴的多少 >>> 返回圖像大小的模糊噪聲圖像noise np.random.uniform(0, 256, img.shape[0:2])# 控制噪聲水平&#xff…

誰能講清楚Spark之與MapReduce的對比

我們已經知道Spark是如何設計和實現數據處理流程的,這里我們 再深入思考一下,為什么Spark能夠替代MapReduce成為主流的大數據處理框架呢?對比MapReduce,Spark究竟有哪些優勢? 一 優勢 1 通用性: 基于函數式編程思想,MapReduce將數據類型抽象為,k,v格式,并將數據處理…

Spring Boot單元測試使用MockBean注解向Service注入Mock對象

1. 背景介紹 我們在測試時有一個Service,我們需要測試Service,但Service內部依賴ServiceA、ServiceB,此時我們希望Mock ServiceA,ServiceB 注入真實對象。 class Service {private ServiceA A;private ServiceB B;public int me…

OPENCV C++(十二)模板匹配

正常模板匹配函數 matchTemplate(img, templatee, resultMat, 0);//模板匹配 這里0代表的是方法,一般默認為0就ok img是輸入圖像 templatee是模板 resultmat是輸出 1、cv::TM_SQDIFF:該方法使用平方差進行匹配,因此最佳的匹配結果在結果為…

Excel(1):表頭或列頭凍結

1.需求 對于較大的excel,通常需要固定一部分內容,另一份內容為可翻動。 2.解決方式 在視圖中選擇凍結窗格,需要注意的是,選擇凍結窗格時,窗格的左上方的表格區域是固定不動的,只可以向下或者向右活動。

8.10論文閱讀

文章目錄 The multimodal MRI brain tumor segmentation based on AD-Net摘要本文方法損失函數 實驗結果 max-vit - unet:多軸注意力醫學圖像分割摘要本文方法實驗結果 The multimodal MRI brain tumor segmentation based on AD-Net 摘要 基于磁共振成像(MRI)的多模態膠質瘤…

Redis分布式鎖問題

1、業務單機情況下 問題:并發沒有加鎖導致線程安全問題。 解決方法:加鎖處理,如lock、synchronized 仍有問題:業務分布式情況下,代碼級別加鎖已經無效。需要借助第三方組件,如redis、zookeeper。 2、業務分…

云計算|OpenStack|使用VMware安裝華為云的R006版CNA和VRM---初步使用(二)

前言: 在前面一篇文章云計算|OpenStack|使用VMware安裝華為云的R006版CNA和VRM---初始安裝(一)_華為cna_晚風_END的博客-CSDN博客 介紹了基于VMware虛擬機里嵌套部署華為云的云計算,不過僅僅是做到了在VRM的web界面添加計算節點…

Kubernetes的默認調度和自定義調度詳解

默認調度和自定義調度詳解 默認調度 默認調度是 Kubernetes 中的內置機制,它使用調度器組件來管理分配容器的節點。調度器依據以下原則選擇合適的節點: 資源需求 :調度器會為每個 Pod 根據其 CPU 和內存需求選擇一個具有足夠資源的節點。親…

Android使用kotlin+協程+room數據庫的簡單應用

前言:一般主線程(UI線程)中是不能執行創建數據這些操作的,因為等待時間長。所以協程就是為了解決這個問題出現。 第一步:在模塊級的build.gradle中引入 id com.android.application// roomid kotlin-androidid kotlin…

Mysql主從分離

一、前言 某個應用場景中,在操作數據庫這部分,往往是數據庫的讀取往往大于數據庫的寫入,當讀取數據達到數據庫的瓶頸時,性能下滑,影響數據的寫入,導致整個應用的不可用。為了解決這個問題,這時&…

單片機直驅兩相四線步進電機研究

【本文發布于https://blog.csdn.net/Stack_/article/details/132236329,未經允許不得轉載,轉載須注明出處】 雙極性步進電機(兩相四線步進電機),原理的東西就先不講太多了,還沒搞清楚,邊查資料邊…

jsoup解析html之table表格

jsoup解析html之table表格 jsoup說明 一款Java 的HTML解析器 jsoup 是一款Java 的HTML解析器,可直接解析某個URL地址、HTML文本內容。它提供了一套非常省力的API,可通過DOM,CSS以及類似于jQuery的操作方法來取出和操作數據。 主要功能 從一…

Python Opencv實踐 - 圖像旋轉

import cv2 as cv import numpy as np import matplotlib.pyplot as pltimg cv.imread("../SampleImages/pomeranian.png", cv.IMREAD_COLOR)#圖像旋轉 #Opencv中的旋轉,首先通過cv.getRotationMatrix2D獲得旋轉矩陣 #cv.getRotationMatrix2D(center,ang…

Mr. Cappuccino的第62杯咖啡——Spring之Bean的生命周期

Spring之Bean的生命周期 Aware接口項目結構項目代碼運行結果源代碼使用場景 InitializingBean接口項目結構項目代碼運行結果源代碼 BeanFactoryPostProcessor接口項目結構項目代碼運行結果源代碼 Bean的生命周期項目結構項目代碼運行結果源代碼 Aware接口 實現Aware接口是為了…

微信小程序實現圖片多點裁剪

話不多說&#xff0c;直接上代碼 1、頁面布局 <view class"buttons" style"height: 50px;"><view class"upload btn" style"background-color: #d18118;"bindtap"uploadImage"> 上傳圖片 </view><vie…