我的ASP.NET學習筆記010C#語言基礎

来源:https://www.cnblogs.com/yigegaozhongsheng/archive/2018/08/05/9426720.html
-Advertisement-
Play Games

cSharp_1_概述 名詞描述 C# 是一門語言,語法與javascript、C、C++、java相近,這些語言都是比C語言的語系中發展而來。 .net framework (Framework是框架的意思)asp.net軟體的編譯和運行平臺,電腦必須安裝了這個軟體才可以運行我們編寫的C#應用程 ...


cSharp_1_概述

名詞描述

C#

是一門語言,語法與javascriptCC++java相近,這些語言都是比C語言的語系中發展而來。

 

.net framework

(Framework是框架的意思)asp.net軟體的編譯和運行平臺,電腦必須安裝了這個軟體才可以運行我們編寫的C#應用程式。不過windows7.0以後的操作系統都要自動安裝了這個軟體。

 

mono是由第三方團隊開發的讓C#程式代碼運行於多平臺的一個框架。相當於另一個.net framework

 

 

 

新建一個軟體項目

.net中程式軟體是項目的形式的存在的,一個項目就是包含軟體中所有的代碼、圖片、樣式、等等所有資源文件的集合。

 

新建一個C#控制台應用程式項目

“文件”菜單 à 新建 à 項目 à 在彈出的“新建項目”視窗中依次選擇 à visual C# à 控制台應用程式 à 添加項目名稱 à 選擇項目的存儲位置 à 選擇建立新的解決方案à 還是要添加到當前已經打開的解決方案中

 

完成“控制台應用程式”的創建之後。就可以在“解決方案”面板中看到當前項目的所有文件了。

 

Mian主函數

 

其中,program.cs文件中的main主函數就是程式的入口函數,包括其中的代碼,會被自動執行,而寫在mian主函數之外的代碼則沒不會被執行,除非在main中對其進行調用。

 

Main註意 M 大寫

修飾為static 

返回值為void或int 

參數為字元串數組(C#中可選) 

應用程式開始執行的地方

 

 

 

擴展名.cs

C#程式代碼文件的擴展名就是.cs

 

編譯執行源代碼 

F5:啟動調試 

Ctrl+F5:開始執行(不調試) 

 

控制台輸入輸出語句

輸出語句

控制台的相關操作都通過Console這個類完成,包括輸入與輸出操作 

常用輸出方法介紹 

Console.Write(…)不換行輸出 

Console.WriteLine(…)換行輸出,在輸出內容的末尾加一個換行符 

 

常用參數使用語法 

Console.WriteLine("您傳入的第一個參數為:"+ss);

Console.WriteLine("您傳入的第二個參數為:{0}", args[1]);

 

 

占位符

Console.WriteLine中的占位符寫法{0}{1},其概念就好像是在字元串中留一個填空題中的空,由後面的參數來填。

控制台輸入

程式一般有零到多個輸入,有些輸入是執行時由用戶輸入的 

使用Console.ReadXXX()系列的方法可以完成接收用戶輸入的操作 

常用方法 

Console.Read():一次返回一個字元(ASCII碼) 

Console.ReadLine():返回用戶在控制台輸入的一行字元串,按回車結束。

註釋

單行註釋  //

多行註釋  /*    */

 

通過快捷鍵來註釋

選中需要註釋的代碼 à Ctrl+k Ctrl+c

通過快捷鍵來取消註釋

選中需要取消註釋的代碼 à Ctrl+k Ctrl+u

 

練習:

1、在vs中創建一個控制台應用程式,用戶手動輸入男方姓名,輸入女方姓名,輸出信息“恭喜XX先生和XX女士,百年好和、白頭偕老”。

 

2、在vs中創建一個控制台應用程式,模擬一個atm取款的功能,假設帳戶原本有一千元,讓用戶輸入一個數字,原帳戶金額減去取款金額,將還剩多少錢顯示出來。( C#中的字元串轉整數 int.Parse(字元串)、聲明整數類型是 int i = 1 ; )

 

 

C#中的數據類型

C#是一門強類型的編程語言,而javascript是一門弱類型的編程語言。

強類型語言是指該語言中的變數必須嚴格遵循類型的限制。就是說一個變數被聲明之後,永遠只能存儲指定類型的數據。

 

C#中的整數類型

類型標識符

描述

可表示的數值範圍

sbyte

8位有符號整數

-128 ~ +127

Byte位元組

(bit位代表一個二進數)

8位無符號整數

0 ~ 255

Short短整型

16位有符號整數

-32768 ~ +32767

ushort

16位無符號整數

0 ~ 65535

int 整型

32位有符號整數

-2147483648 ~ +2147483647

uint

32位無符號整數

0 ~ 4294967295

long

64位有符號整數

-9223372036854775805 ~ +9223372036854775807

ulong

64位無符號整數

0 ~ 264-1

Char有時可以被當做整型來看待。

 

C#中變數的定義

C#中聲明一個變數必須要同時聲明這個變數的類型。

數據類型 變數名=變數值

比如:int i =10;

 

浮點類型

用於存儲實數,浮點的數據類型包含兩種:

單精度浮點型(float)

float類型是32

取值範圍:在+ 1.5×10-45 ~ 3.4×1038之間,精度為7位數。

雙精度浮點型(double)

double類型是64位寬。

取值範圍:為+5.0×10-324 ~ 1.7×10308之間,精度為15~16位數

 

註意:floatdouble不適合用於進行高精度且頻繁的運算,否則在處理小數的位數限制的最後一位時會自動的四捨五入,造成精度的損失。

 

小數類型(decimal

16個位元組(128),主要為了滿足高精度的金融、科學運算等領域。

小數類型數據的取值範圍和精度如下:

     取值範圍在+ 1.0×10-28 ~ 7.9×1028之間,精度為29位數。

 

數值類型的表示方法

C#中如果只寫一個整數數字而不帶代表的類型標識,那麼這個整數數字會被自動自定為int類型。如果寫一個帶有小數的實數數字而不帶代表的類型標識,那麼這個實數數字會被自動自定為double類型。

可以用如下代碼來證明:

Console.WriteLine((12).GetType().ToString());

Console.WriteLine((12.01).GetType().ToString());

 

 

通過類型標識符來定義數值的類型

123f 代表float類型數值123.0

      518u                 代表uint類型的數值518

      36897123ul      代表ulong類型的數值36897123

      22.1m               代表decimal類型的數值22.1

      12.68                代表double類型的數值12.68

      36              代表int類型的數值36

 

字元類型

在電腦中,一切數據最終都會被轉換為二進位,字元也不例外,但是二進位只能用來存儲數字,因此Char類型中存儲的是一個字元在unicode碼表中的位置編號。

字元類型的定義:

char 變數名 = ‘單個字元’ ;

註意:

1、 char類型的值必須用單引號括起來。

2、 單引號內的有效字元必須且只能是一個。

3、 值不能是單引號或反斜杠。

 

C#中的轉義字元

 

 
   

 

Bool布爾類型

布爾類型只有兩個值truefalse

bool c = 5>6;

c = true ;

Console.WriteLine(c);

 

 

GetType()方法

用於獲取一個變數或數值的類型,示例:

float i = 100f;

Console.WriteLine(i.GetType().ToString());

 

Int16代表short

Int32代表int

Int64代表long

Singel代表flaot

 

引用類型

String字元串類型

用於保存字元和文本數據。String類型的值是包含在一對雙引號之間的。

 

c#string 的本質是一個char類型的數組。

String可以直接被當成char類型的數組來用。

string i = "This is 665";

Console.WriteLine(i[1]);

 

Char類型的數組同樣可以被轉換為字元串

char[] cArr = {'H','e','l','l','o' };

string cStr = new string(cArr);

Console.WriteLine(cStr);

 

逐字字元串@

逐字字元串@用以避免書寫轉義字元串,將字元串中的特殊符號當成字元來對待。

string cStr = @"this is \n 665";

Console.WriteLine(cStr);

 

其寫法就是在字元串前面加上一個@符號。

 

Object類型

C#中所有的對象、變數、類型,我們都可以稱之為是object的子類。

 

對於任何一個變數、對象、類型,我們都可以將其存儲在object類型的變數之中。

 

object obj = "this is \n 665";

obj = 123;

obj = true;

Console.WriteLine(obj);

 

 

練習:

編寫程式實現下圖效果:

使用合適的數據類型定義相關變數(255以下用byte、小數是float、身份證qq號可以用string

輸出輸入的結果

 
   

 

 

C#中的類型轉換

數據類型在一定條件下是可以相互轉換的。

C#允許使用兩種轉換的方式:隱式轉換和顯式轉換。

隱式轉換

隱式轉換是自動完成的、不需要用戶手動聲明就可以完成的轉換過程。

這種轉換一般是“向上轉換”,即由占存儲空間小的數據類型向占存儲空間大的數據類型轉換。

示例:

byte bNum = 255;

short sNum = bNum;

int iNum = sNum;

long lNum = iNum;

float fNum = lNum;

double dNum = fNum;

string strNum = ""+dNum; //用字元串與數值相加的時候,數值類型會自動的被隱式轉換為string

Console.WriteLine(strNum);

 

C#中變數的聲明

變數只是一個容器,用於存儲具體的數值,並且這個容器里的數值是可以變的。

聲明變數的過程

數據類型 變數名;

比如:int iNum;

變數名 = 表達式;

比如:iNum = 5;

當然多數情況下我們將兩步合為一步:

int iNum = 5;

同時定義多個同類型的變數

比如:

int a, b, c;

同時定義並賦值多個同類型的變數

比如:

int a=1, b=2, c=3;

 

顯式類型轉換

就是指必須由用戶手動聲明的轉換過程。

強制類型轉換

格式:  (類型名稱)表達式

將表達式的值的類型轉換為類型名稱所標識的類型。

 

示例:int i = (int)’a’;

註意:在強制類型轉換的過程中有可能對原本的數值造損失。

decimal dd = 12.3456m;

int iNum = (int)dd;

Console.WriteLine(iNum);

 

 

數據類型之間的轉換

toString()

toString()將其他類型的數據轉換為字元串。

幾乎所有能夠用文字描述的數據都可以轉換為字元串。

轉換格式:

變數或值.toString();

示例:

true.ToString()

intNum.ToString()

 

XXX.Parse(字元串)

將字元串轉換為其他類型。XXX代表類型名稱,比如doubleintbool

格式:

XXX.Parse(字元串)

示例:

string strNum = "123";

short sNum = short.Parse(strNum);

int iNum = int.Parse((123).ToString());

float fNum = float.Parse(strNum);

double ddNum = double.Parse(strNum);

decimal dcNum = decimal.Parse(strNum);

long lNum = long.Parse(strNum);

 

XXX.TryParse(字元串)

將字元串轉換為其他類型的數體,在轉換的過程中需要一個已賦值的臨時變數,如果轉換成功則臨時變數中存放的就是轉換之後的值,否則臨時變數中保持原值不變。XXX代表類型名稱,比如doubleintbool

格式:

XXX.TryParse(字元串,out 臨時變數)

示例:

string strNum = "123";

decimal bTemp = 0;

decimal.TryParse(strNum, out bTemp);

Console.WriteLine(bTemp);

 

 

System.Convert類型轉換工具

它為數據類型轉換提供了一多種方法,可以將一個基本數據類型轉換為另一種基本數據類型。

 

Convert的類型轉換方法有包含:

ToBooleanToByteToCharToDateTimeToDecimalToDoubleToInt16ToUint32ToUint64等等。

示例:

char c = 'B';

int intNum = Convert.ToInt32(c);

Console.WriteLine(intNum);

char a = Convert.ToChar(intNum);

Console.WriteLine(a);

string strNum = intNum + "5";

short sNum = Convert.ToInt16(strNum);

Console.WriteLine(sNum);

float fNum = Convert.ToSingle(sNum);

Console.WriteLine(fNum);

 

 

as類型轉換

通常as 用於引用類型之間的轉換,示例:

object obj = "今天星期五";

string sTime = obj as string;

Console.WriteLine(sTime);

 

is關鍵字:判斷變數或數值的類型

示例:

int sTime = 12345;

if (sTime is int)

Console.WriteLine("這是int");

else 

Console.WriteLine("不知道是什麼");

 

 

練習:

1、 定義一個float類型的變數,並存入值123.31。(註意float類型數值的表示方法)

2、 定義一個char類型的變數cc,並存入字元c,將cc進行沒類型轉換並存入int類型變數i中,將i轉換為字元串,並與字元串”51”連接並將結果存入string類型變數ss中,將ss轉換為double類型並顯示。

3、 將字元串”3.14”char類型數值”7”都轉換為double類型並相加。

4、 將字元串”15784456” convert轉換為ushort類型,併在控制臺中顯示出其類型。

5、 從字元串”35624”,取出第三個數字,並顯示出來。

 

 

運算符與表達式

C#中的變數

變數的命名規則:

1)、由字母、數字或下劃線"_"組成。(中文也可以被看作是字母)

         2)、必須由字母或下劃線"_"開頭,不能以數字開頭

        3)、不能是c#中的關鍵字 如:int、string、bool、Main、class等

        4)、區分大小寫  如:小寫的a    大寫的A 是兩個變數

 

命名技巧:

1、駝峰命名法:當一個變數或函數、方法、類名由多個單詞構成時,將每個單詞的首字母大寫,這我們就可以快速的區分單詞之間的間隔。

 

2、在變數名的前面,我們可以用3個字母來表示變數的類型,比如:intflt(float)str(string)dcm(decimal)dat(dateTime)

 

3、介面一般以大寫字母I 開頭,bool類型一般以is開頭。

 

位運算符

將十進位數字轉換為二進位之後,再通過與、或、非等邏輯運算,對每個位上的二進位數字進行比較。

按位與&

示例:

int i = 11 & 7;

相當於:

1011

  & 0111

------------

0011

其結果為二進位的11,也就是十進位3

按位或|

示例:

int i = 11 | 7;

相當於:

1011

  I 0111

------------

1111

其結果為二進位的1111,也就是十進位15

位相等^

示例:

int i = 11 ^ 7;

相當於:

1011

  ^ 0111

------------

1100

其結果為二進位的1100,也就是十進位12

 

按位取反~

只操作一個數字,將該數字中為1的位變成0,為0的位變成 1

 

移位運算符

就是對二進位數,進行乘以10或除以10的操作。相當於給數字乘以十進位的2

int i = 11 <<1;

結果為22

 

三元運算符

由一個邏輯表達式來控制,邏輯表達式為true時返回第一個值,為false時返回第二個值。

格式:   邏輯表達式 ? 第一個值 : 第二個值 ;

示例:

string strResult = (11 <1)?"成立":"不成立";

 

 

運算符的優先順序

1、括弧:()、[]

2、一元運算符:!、+(正)、-(負)、++、--

3、乘除:*、/、%

4、加減:+(加)、-(減)

5、位移運算符:<<、>>

6、關係運算符:<><=>===、!=

7、位運算符:&  |  ^

8、邏輯運算符:&&|| (先運算邏輯與,再運算邏輯或)

9、三元運算符:?:

10、賦值運算:=、+=、-=、*=、/=、%=  (&=、|=、^=、~=) 

 

關於除法的說明

運算結果的類型和參與運算的類型中最高的類型一致,影響最大的是除法,整數除以整數結果還是整數,例如10/3的結果是3,而不是3.333 。所以必須要先將兩個數字轉換為浮點或decimal類型,再相除。

 

表達式的概念

就是用運算符或者方法將變數連接起來進行運算,終得到一個確定的結果的運算式。

 

條件判斷語句

if

switch單值判斷

示例:

string strInput=Console.ReadLine();

switch (strInput)

{

case "a":

Console.WriteLine("a級");

break;

case "b":

Console.WriteLine("b級");

break;

default: //當上面所有的條件都不滿足時執行這裡

Console.WriteLine("XXXXXX");

break;

 

註意事項:

1

控製表達式的數據類型可以是sbyte、byte、short、uint、long、 

ulong、char、string或枚舉類型(後兩種類型我們隨後會講到) 

2

每個case標簽中的常量表達式必須屬於或能隱式轉換為控製表達式的類型 

3

如果有兩個或者兩個以上case標簽中的常量表達式值相同,編譯時將會報錯 

4

switch語句中最多只能有一個default標簽 

5

要求每個標簽項後使用break語句或跳轉語句goto(稍後將會講到)

 

練習:

一、 請編寫一個程式實現:輸入一個長方形的長和寬,輸出其長方形的面積

二、 輸入一個華氏溫度,要求輸出攝氏溫度;公式為:C=5/9(F-32)C表示攝氏溫度,F表示華氏溫度

三、 編寫程式求圓的周長和麵積,要求根據輸入的圓的半徑計算出圓的周長和麵積(c:周長,s:面積,r:半徑,π=3.14)

公式:c=2πr;  s=πr2

四、 編寫程式求長方體的體積和錶面積,要求根據輸入的長方體長、寬、高計算出長方體的體積和錶面積(L:長,W:寬,H:高,V:體積,S:錶面積)

公式:v=l*w*h;   s=2(l*w+w*h+h*l);

五、 判斷輸入的年份是否為閏年,只需要滿足下麵條件之一即為閏年

a) 能被4整除,且不能被100整除

b) 能被400整除

 

1.編寫小程式實現任意輸入兩個數,判斷其大小並輸出較大數!

2.編寫小程式實現任意輸入兩個兩位以上的整數,找出最後一位並且判斷大小,輸出判斷結果!

3.編寫小程式實現任意輸入兩個整數,第一個數要求是兩位以上的整數,找出第一個數末尾那位數,用它除以第二個數,輸出運算結果!

4.輸出3的前面一個數字和後面一個數字!實際上就是將char類型的字元3轉換為int類型,加一或減一之後再轉回char類型。

5.編寫小程式實現任意輸入兩個數,判斷其大小;將大的一個數和10取模,將取摸的結果輸出!

6.編寫小程式實現任意輸入兩個數,判斷其是否相等,如果相等,就輸出“相等”,否則輸出“不相等”!

7.編寫小程式實現輸入一個五位數,分別取出個位上的數、十位上的數、百位上的數、千位上的數、萬位上的數,分別輸出這五個數!

8.(思考題)任意輸入一個三位整數,並且分別取出個位上的數,十位上的數,百位上的數;如果這三個數都不等於4並且取出的三位數之和等於8,則輸出“恭喜你,中了八毛錢!”,如果不等8,則找出這三個數種最大的一個數,輸出那個最大數和“下次繼續努力吧!”這句活!

 

1.編寫小程式實現任意輸入兩個數,求兩個數的加、減、乘、除,並且分別輸出結果。

2.編寫小程式實現任意輸入一個整數,輸出該數字的最後一位。

3.編寫小程式實現任意輸入五個人的年齡,並求出平均年齡,並且輸出。

4.編寫小程式實現一種商品(數量,單價任意輸入),輸出總價.

5.在第四題的基礎上實現三種商品的總價計算,輸出應付多少錢。

 

1、使用三元操作符求三數的最大值。

2、使用三元操作符求三數的最小值。

3、輸入一個四位數,分別求出個位,十位,百位,千位。

 

 

 

一、 輸入一個五位以內的數字,輸出該數字是幾位數

二、 輸入三條邊,判斷給定的三條邊是否能組成三角形,如果能,再判斷是等邊三角形、等腰三角形還是普通三角形 

三、 輸入5個數字,判斷這5個數字是否存在重覆的數字,如果存在則輸出yes,否則輸出no  

四、 編寫一個小程式判斷輸入的正整數是否既是5又是7的整倍數.若是,則輸出yes,否則輸出no。 

五、 編寫一個小程式,有一函數如下 

 

輸入X 的值,輸出對應Y 的值.

六、(思考題)編寫一個小程式實現:輸入一個整數,判斷它能否被3,5,7整除,並輸出以下信息之一: 

  1. 能同時被3,5,7整除; 
  2. 能被其中兩個數整除(要指出那兩個數);
  3. 能被其中一個數整除(指出那一個); 
  4. 不能被3,5,7任一個整除。

 

 

1、輸入一個時間(整數),時間在6~10點之間輸出“上午好”,在11~13點之間輸出  “中午好”,在14~18之間輸出“下午好”,其他情況輸出“休息時間”。

2、使用IF語句,判斷四數的最大值 。

3、從鍵盤輸入兩個數,然後輸入一個運算符號,使用if語句和switch語句判斷輸入的運算符號是"+-*/%"中的哪一個,然後對輸入的兩個數進行相應的計算。

4、判斷任意年份是不是閏年。(條件:能被4整除卻不能被100整除或者能被400整除的年份是閏年)

 

 

第一題:

有一個函數:

y = x         (x<1)

y = 2x-1       (1<=x<10)

y = 3x-1       (x>=10)

寫一程式,輸入x,輸出y值。

 

第二題:

3個整數abc,由鍵盤輸入,輸出其中最小的數。

要求:用if語句編寫程式。

 

第三題:

企業發放的獎金根據利潤提成。利潤I小於或等於10萬元的,獎金可提成10%;利潤高於10萬元,低於20萬元(100000<I<=200000)時,低於10萬元的部分按10%提成,高於10萬元的部分,可提成7.5%200000<I<=400000時,低於20萬的部分仍按上述辦法提成(下同),高於20萬元的部分按5%提成;400000<I<=600000時,高於40萬的部分按3%提成;600000<I<=1000000時,高於60萬的部分按1.5%提成;I>1000000時,超過100萬元的部分按1%提成。從鍵盤輸入當月利潤I,求應發獎金總數。

要求:用ifswitch語句編寫程式

 

第四題:

實現一個簡單的四則運算計算器。

要求:參與運算的兩個數值和運算的類型均從控制台輸入,順序為:第一個操作數、第二個操作數、運算類型;用switch語句編寫程式。

 

 

迴圈與數組

關於VS的一些操作說明

運行

F5 調試 à 啟動調用

Ctrl + F5: 調試 à 開始執行(不調試)

調試

斷點

我們啟動調試的時候,程式的執行過程就會處於VS的控制和監督之下的,此時我們就可以用多種方式來觀察的程式的運行狀態。

 

所謂斷點,就是讓程式在執行到某行代碼的時候暫停,讓我們可以看到程式的狀態。

F11逐語句執行

讓程式一條一條的執行。

監視

在程式進入調試狀態之後,會顯示局部變數和監視視窗,在這些視窗中我們可以跟蹤程式中出現的變數和對象的變化。

比如在監視視窗中,我們可以指定眾多變數中需要監視的那個變數,並且可以對這個變數進行運算,或調用其屬性與方法。

 

熟練的使用調試工具,能夠極大的提高我們在編程時解決Bug的能力。

 

VS中的項目的管理

一個項目的構成

查看一個項目所包含的所有文件:

通過右擊項目名稱 à windows資源管理器中打開文件夾 à 就可以看到這個項目的文件了

 

其中:

文件:解決方案名稱.sln 解決方案名稱.suo 就是我們的解決方案文件,我們可以把它理解為是項目中所有項目和文件的一個目錄清單。通過雙擊打開這個文件,我們就可以在VS中打開整個解決方案及軟體項目。

 

解決方案中可以包含多個軟體項目

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • Map Map初始化 Map<String, String> map = new HashMap<String, String>(); 添加數據 map.put("key1", "value1"); 刪除數據 map.remove("key1"); 獲取數據 map.get("key1"); 清空m ...
  • TOTP 的全稱是"基於時間的一次性密碼"(Time based One time Password)。它是公認的可靠解決方案,已經寫入國際標準 RFC6238。 很早就知道有這個東西了,一直不知道是怎麼實現的. 比如 QQ 安全中心的密鑰,U盾,就是動態密碼之類的. 今天看到阮一峰老師的博客才知道 ...
  • 一、Python編譯器簡介 根據實現Python編譯器語言一般分為以下幾種: 1.1、CPython 標準的Python,解釋型編譯器。 Python:標準的CPython版本,即官方發佈版本。 IPython:基於CPython的一個互動式解釋器,也就是說,IPython只是在交互方式上有所增強, ...
  • Hello Python3 數據類型以及傳參 內置函數 正則表達式 文件操作 異常處理 類和對象 MySQL操作 Socket編程 線程 HTTP請求 JSON 日期時間 感想 解決問題的思路才是關鍵,編程語言只是語法不同而已。 習慣性以分號結尾;哈哈哈!!! ...
  • .net core使用配置文件 在 .net core中,配置文件的讀取是通過IConfiguration來提供的,程式集是 ,對應的有一系列的實現,通過這些實現,可以讀取Json/Xml/ini等類型的配置文件。 在本節示例中,我們使用Json配置文件做演示。 讀取Json配置文件 Json是我們 ...
  • [TOC] C 編程指南 前不久在 Github 上看見了一位大牛創建一個倉庫: "CSharpCodingGuidelines" ,打開之後看了一下 相關描述,感覺應該很不錯,於是就 clone 到本地拜讀一下,這裡列一些自己的筆記,方便日後回顧。 基本原則 Astonishment 原則:你的代 ...
  • 今天我準備記錄一篇關於遍歷的博客,因為覺得它是我們以後工作最常用的一種方法了。比如說在一個模塊里插入小圖標,如京東網頁右側的小圖標<i></i>。 精靈圖中遍歷也是不可或缺的重要用法。 遍歷又是迴圈中最常見的問題。 所謂遍歷,是指有某個範圍的樣本數,需要把樣本中的每個數據取出來一一分析。 比如,輸出 ...
  • 今天試了下mvc自帶的ajax,發現上傳文件時後端action接收不到文件, Request.Files和HttpPostedFileBase都接收不到。。。。。後來搜索了下才知道mvc自帶的Ajax不支持文件上傳,無奈之下只能用其他的方式 第一種方式:通過 jquery的ajaxSubmit 》( ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...