C#基礎語法(2)

### 練習
一、變量和數據類型
- 1. 變量定義與賦值
```cs
using System;
namespace Name
{
? ? class Program
? ? {
? ? ? ? public static void Main(string[] args)
? ? ? ? {
? ? ? ? ? ? int age = 20;
? ? ? ? ? ? double height = 1.75;
? ? ? ? ? ? string name = "張三";
? ? ? ? ? ? bool isStudent = true;
? ? ? ? ? ? Console.WriteLine($"年齡: {age}, 姓名: {name}, 身高: {height}, 是否學生: {isStudent}");
? ? ? ? }
? ? }
}
```
- 2. 數據類型轉換
```cs
?string numStr = "123";
? ? ? ? ? ? //將numStr轉換為整數類型
? ? ? ? ? ? int num = int.Parse(numStr);
? ? ? ? ? ? int res = num + 456;
? ? ? ? ? ? Console.WriteLine(res.ToString());
```

二、運算符
1. 算術運算符
```cs
int a = 10;
int b = 3;
Console.WriteLine($"a+b={a+b},a-b={a-b},a*b={a*b},a/b={a/b},a%b={a%b}");
```

2. 比較和邏輯運算符
```cs
? ? ? ? ? ? int x = 20;
? ? ? ? ? ? int y = 30;
? ? ? ? ? ? bool res = x == y;
? ? ? ? ? ? bool res1 = x != y;
? ? ? ? ? ? bool res2 = x > y;
? ? ? ? ? ? bool res3 = x < y;
? ? ? ? ? ? bool res4 = x >= y;
? ? ? ? ? ? bool res5 = x <= y;?
? ? ? ? ? ? Console.WriteLine($"{res},{res1},{res2},{res3},{res4},{res5}");
```?

3.?
```cs
? ? bool res = x > 10 && y < 40;
```

三、流程控制
1. 條件語句
```cs
? ? ? ? Console.WriteLine("請輸入分數(0-100)");
? ? ? ? string input = Console.ReadLine();
? ? ? ? int score;
? ? ? ? //int.TryParse(input, out int score):int.TryParse 是一個嘗試將字符串轉換為整數的方法。它有兩個參數:第一個是要轉換的字符串 input,第二個是輸出參數 out int score,用于存儲轉換后的整數值。
? ? ? ? if (!string.IsNullOrEmpty(input) && int.TryParse(input, out score) && score >= 0 && score <= 100)
? ? ? ? // ?空的 string.IsNullOrEmpty() 調用:!string.IsNullOrEmpty() 應該包含一個參數,即 input。
? ? ? ? // ?未賦值的局部變量 score:int.TryParse 應該使用 out score 而不是 out int score,因為 score 已經在前面聲明過了。
? ? ? ? {
? ? ? ? ? ? int GradeLevel = score / 10;
? ? ? ? ? ? string Grade;
? ? ? ? ? ? switch (GradeLevel)
? ? ? ? ? ? {
? ? ? ? ? ? ? ? case 10:
? ? ? ? ? ? ? ? case 9:
? ? ? ? ? ? ? ? ? ? Grade = "A";
? ? ? ? ? ? ? ? ? ? break;
? ? ? ? ? ? ? ? case 8:
? ? ? ? ? ? ? ? ? ? Grade = "B";
? ? ? ? ? ? ? ? ? ? break;
? ? ? ? ? ? ? ? case 7:
? ? ? ? ? ? ? ? ? ? Grade = "C";
? ? ? ? ? ? ? ? ? ? break;
? ? ? ? ? ? ? ? case 6:
? ? ? ? ? ? ? ? ? ? Grade = "D";
? ? ? ? ? ? ? ? ? ? break;
? ? ? ? ? ? ? ? default:
? ? ? ? ? ? ? ? ? ? Grade = "E";
? ? ? ? ? ? ? ? ? ? break; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
? ? ? ? ? ? }
? ? ? ? ? ? Console.WriteLine($"成績等級:{Grade}");
? ? ? ? }
? ? ? ? else
? ? ? ? {
? ? ? ? ? ? Console.WriteLine("輸入字符無效");
? ? ? ? }
```

2. 循環語句
```cs
? ? ? ? ? ? for (int i = 1; i < 11; i++)
? ? ? ? ? ? {
? ? ? ? ? ? ? ?int res = i*i;
? ? ? ? ? ? ? ?Console.WriteLine(res);
? ? ? ? ? ? }
```

3. 累加和
```cs
? ? ? ? ? ? int i = 1;
? ? ? ? ? ? int sum = 0;
? ? ? ? ? ? while (i<=100)
? ? ? ? ? ? {
? ? ? ? ? ? ? ? sum += i;
? ? ? ? ? ? ? ? i++;
? ? ? ? ? ? }
? ? ? ? ? ? ?Console.WriteLine(sum);
```

四、方法
1. 方法定義與調用
```cs
? ? public class Program
? ? {
? ? ? ? public int Add(int n,int y)
? ? ? ? {
? ? ? ? ? ? int res = n + y;
? ? ? ? ? ? return res;
? ? ? ? }
? ? ? ? public static void Main(string[] args)
? ? ? ? {
? ? ? ? ? ? // ? 創建 Program 類的實例
? ? ? ? ? ? Program pro = new Program();
? ? ? ? ? ? // 通過實例調用非靜態方法 Add
? ? ? ? ? ? int result = pro.Add(6, 1);
? ? ? ? ? ? ?Console.WriteLine(result);
? ? ? ? }
? ? }
```

2. 方法重載
```cs
? ? public class Calculator
? ? {
? ? ? ? // 重載方法:參數順序為 int 和 double
? ? ? ? public double Multiply(int a, double b)
? ? ? ? {
? ? ? ? ? ? return a * b;
? ? ? ? }
? ? ? ? // 重載方法:參數順序為 double 和 int
? ? ? ? public double Multiply(double a, int b)
? ? ? ? {
? ? ? ? ? ? return a * b;
? ? ? ? }
? ? ? ? public static void Main(string[] args)
? ? ? ? {
? ? ? ? ? ? // 根據命名class類
? ? ? ? ? ? Calculator calculator = new Calculator();

? ? ? ? ? ? double result1 = calculator.Multiply(5, 3.5);
? ? ? ? ? ? double result2 = calculator.Multiply(5.5, 3);

? ? ? ? ? ? Console.WriteLine("int 和 double 相乘結果: " + result1);
? ? ? ? ? ? Console.WriteLine("double 和 int 相乘結果: " + result2);
? ? ? ? }
? ? }
```

五、字符串操作
1. 字符串拼接
```cs
? ? ? ? string firstName = "張";
? ? ? ? string lastName = "三";
? ? ? ? Console.WriteLine($"{firstName}{lastName}");
```

2. 字符串方法
```cs
? ? ? ? string sentence = "Hello, World!";
? ? ? ? string res1 = sentence.ToUpper();
? ? ? ? string res2 = sentence.Replace("World","C#");
? ? ? ? Console.WriteLine(res1);
? ? ? ? Console.WriteLine(res2);
```

六、綜合練習
1. 簡單的計算器
```cs
? ? public static void Main(string[] args)
? ? {
? ? ? ? Console.WriteLine("請輸入第一個數字:");
? ? ? ? double num1 = Convert.ToDouble(Console.ReadLine());
? ? ? ? Console.WriteLine("請輸入第二個數字:");
? ? ? ? double num2 = Convert.ToDouble(Console.ReadLine());
? ? ? ? Console.WriteLine("請輸入運算符:(+、-、*、/)");
? ? ? ? char op = Console.ReadLine()[0];

? ? ? ? double res = 0;
? ? ? ? switch (op)
? ? ? ? {
? ? ? ? ? ? case '+':
? ? ? ? ? ? ? ? res = num1 + num2;
? ? ? ? ? ? ? ? break;
? ? ? ? ? ? case '-':
? ? ? ? ? ? ? ? res = num1 - num2;
? ? ? ? ? ? ? ? break;
? ? ? ? ? ? case '*':
? ? ? ? ? ? ? ? res = num1 * num2;
? ? ? ? ? ? ? ? break;
? ? ? ? ? ? case '/':
? ? ? ? ? ? ? ? if (num2 != 0)
? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? res = num1 / num2;
? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? else
? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? Console.WriteLine("錯誤: 除數不能為零!");
? ? ? ? ? ? ? ? ? ? return;
? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? break;
? ? ? ? ? ? default:
? ? ? ? ? ? ? ? Console.WriteLine("錯誤: 無效的運算符!");
? ? ? ? ? ? ? ? return;
? ? ? ? }
? ? ? ? ?Console.WriteLine("結果: {0} {1} {2} = {3}", num1, op, num2, res);
? ? }
```

2. 猜數字游戲
```cs
using System;
public class Calculator
{
? ? public static void Main(string[] args)
? ? {
? ? ? ? Random ran = new Random();
? ? ? ? int res = ran.Next(1, 3);
? ? ? ? Console.WriteLine("猜猜看,這個數字是多少?");
? ? ? ? while (true)
? ? ? ? {
? ? ? ? ? ? Console.WriteLine("請輸入一個數字:");
? ? ? ? ? ? int userGuess;
? ? ? ? ? ? if (int.TryParse(Console.ReadLine(), out userGuess))
? ? ? ? ? ? {
? ? ? ? ? ? ? ? if (userGuess == res)
? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? Console.WriteLine("恭喜你,猜對了!程序結束。");
? ? ? ? ? ? ? ? ? ? break; // 結束循環
? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? else if (userGuess < res)
? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? Console.WriteLine("猜小了,請再試一次!");
? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? else
? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? Console.WriteLine("猜大了,請再試一次!");
? ? ? ? ? ? ? ? }
? ? ? ? ? ? }
? ? ? ? ? ? else
? ? ? ? ? ? {
? ? ? ? ? ? ? ? Console.WriteLine("輸入無效,請輸入一個數字!");
? ? ? ? ? ? }
? ? ? ? }
? ? }
}
```

### 筆記
1. 命名空間和類定義
- 使用 `namespace` 關鍵字定義命名空間,以組織代碼并避免命名沖突。
- 使用 `public class` 關鍵字定義一個公共類。

2. 主方法
- `static void Main(string[] args)` 是程序的入口點,其中 `args` 是一個字符串數組,用于接收命令行參數。

3. 控制臺輸出
- `System.Console.WriteLine` 方法用于向控制臺輸出文本信息。

4. 列表操作
- `List<string>` 是一個泛型列表,用于存儲字符串類型的元素。
- `new List<string>()` 創建一個新的字符串列表實例。
- `Add` 方法用于向列表中添加單個元素。
- `AddRange` 方法用于向列表中添加一個字符串數組作為元素集合。

5. 循環遍歷
- `foreach` 循環用于遍歷列表中的每個元素。
- `var item` 在 `foreach` 循環中隱式類型化為當前元素的類型。

6. 變量聲明
- `var` 關鍵字用于隱式類型化局部變量,編譯器會根據賦值自動推斷變量類型。

7. 數組創建
- `new string[] { "33", "99" }` 創建一個新的字符串數組,并初始化為包含指定字符串元素。

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

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

相關文章

連接關鍵點:使用 ES|QL 聯接實現更豐富的可觀測性洞察

作者&#xff1a;來自 Elastic Luca Wintergerst ES|QL 的 LOOKUP JOIN 現已進入技術預覽階段&#xff0c;它允許你在查詢時對日志、指標和追蹤進行豐富處理&#xff0c;無需在攝取時進行非規范化。動態添加部署、基礎設施或業務上下文&#xff0c;減少存儲占用&#xff0c;加速…

Unity 中實現可翻頁的 PageView

之前已經實現過&#xff1a; Unity 中實現可復用的 ListView-CSDN博客文章瀏覽閱讀5.6k次&#xff0c;點贊2次&#xff0c;收藏27次。源碼已放入我的 github&#xff0c;地址&#xff1a;Unity-ListView前言實現一個列表組件&#xff0c;表現方面最核心的部分就是重寫布局&…

[Java 基礎]創建人類這個類小練習

請根據如下的描述完成一個小練習&#xff1a; 定義一個名為 Human 的 Java 類在該類中定義至少三個描述人類特征的實例變量&#xff08;例如&#xff1a;姓名、年齡、身高&#xff09;為 Human 類定義一個構造方法&#xff0c;該構造方法能夠接收所有實例變量作為參數&#xf…

LeetCode 熱題 100 739. 每日溫度

LeetCode 熱題 100 | 739. 每日溫度 大家好&#xff0c;今天我們來解決一道經典的算法題——每日溫度。這道題在 LeetCode 上被標記為中等難度&#xff0c;要求我們找到一個數組&#xff0c;其中每個元素表示從當前天開始&#xff0c;下一個更高溫度出現的天數。如果之后沒有更…

《仿盒馬》app開發技術分享-- 商品搜索頁(頂部搜索bar熱門搜索)(端云一體)

開發準備 隨著開發功能的逐漸深入&#xff0c;我們的應用逐漸趨于完善&#xff0c;現在我們需要繼續在首頁給沒有使用按鈕以及組件添加對應的功能&#xff0c;這一節我們要實現的功能是商品搜索頁面&#xff0c;這個頁面我們從上到下開始實現功能&#xff0c;首先就是一個搜索…

spring-ai入門

spring-ai入門 1、前語 hi&#xff0c;我是阿昌&#xff0c;今天記錄針對目前當下ai火熱的背景下&#xff0c;ai的主流使用語言為python&#xff0c;但市面上很大部分的項目是java開發的的背景下&#xff0c;那java就不能涉及ai領域的開發了嘛&#xff1f;有句調侃的話說的好…

復習——C++

1、scanf和scanf_s區別 2、取地址&#xff0c;輸出 char ba; char* p&b; cout<<*p; cout<<p; p(char*)"abc"; cout<<*p; cout<<p; cout<<(void*)p; 取地址&#xff0c;把b的地址給p 輸出*p&#xff0c;是輸出p的空間內的值…

《TCP/IP 詳解 卷1:協議》第5章:Internet協議

IPv4和IPv6頭部 IP是TCP/IP協議族中的核心協議。所有TCP、UDP、ICMP和IGMP 數據都通過IP數據報傳輸。IP提供了一種盡力而為、無連接的數據報交付服務。 IP頭部字段 IPv4 頭部通常為 20 字節&#xff08;無選項時&#xff09;&#xff0c;而 IPv6 頭部固定為 40 字節。IPv6 不…

樹莓派系列教程第九彈:Cpolar內網穿透搭建NAS

在數字時代&#xff0c;數據存儲與共享的需求無處不在。無論是家庭用戶想要搭建一個便捷的私人云盤&#xff0c;還是小型團隊需要一個高效的數據共享中心&#xff0c;NAS&#xff08;網絡附加存儲&#xff09;無疑是最佳選擇之一。然而&#xff0c;傳統的NAS搭建往往需要復雜的…

React 組件異常捕獲機制詳解

1. 錯誤邊界&#xff08;Error Boundaries&#xff09;基礎 在React應用開發中&#xff0c;組件異常的有效捕獲對于保證應用穩定性至關重要。React提供了一種稱為"錯誤邊界"的機制&#xff0c;專門用于捕獲和處理組件樹中的JavaScript錯誤。 錯誤邊界是React的一種…

python3GUI--車牌、車牌顏色識別可視化系統 By:PyQt5(詳細介紹)

文章目錄 一&#xff0e;前言二&#xff0e;效果預覽1.實時識別2.ROI3.數據導出 三.相關技術與實現1.目標識別與檢測2.可視化展示3.如何設置推流環境4.如何實現的車牌和顏色識別5.項目結構 四&#xff0e;總結 本系統支持黃牌、藍牌、綠牌、黑牌、白牌&#xff0c;支持雙層車牌…

python做題日記(12)

第二十七題 LeetCode第27題要求原地移除數組中所有等于給定值val的元素&#xff0c;并返回移除后數組的新長度。不能使用額外的數組空間&#xff0c;必須在原數組上修改&#xff0c;且元素的順序可以改變。對于這道題的解法在之前的題目中也使用過&#xff0c;可以使用雙指針法…

2025年計算機科學與網絡安全國際會議(CSNS 2025)

第二屆計算機科學與網絡安全國際會議&#xff08;CSNS 2025&#xff09;將在蘭州舉辦&#xff0c;這是一場聚焦于計算機科學領域最新進展及網絡安全前沿技術的國際性學術交流盛會。該會議旨在為來自全球各地的研究學者、工程師以及相關行業專業人士提供一個高水平的交流平臺&am…

知識拓展卡————————關于Access、Trunk、Hybrid端口

目錄 什么是Trunk List、VLAN ID、PVID&#xff1a; VLAN ID&#xff08;Virtual Local Area Network Identifier&#xff09;&#xff1a; Trunk List&#xff08;Trunk列表&#xff09;&#xff1a; PVID&#xff08;Prot VLAN ID&#xff09;: 關于Native VLAN &#x…

Cursor 工具項目構建指南: Web Vue-Element UI 環境下的 Prompt Rules 約束(new Vue 方式)

簡簡單單 Online zuozuo: 簡簡單單 Online zuozuo 簡簡單單 Online zuozuo 簡簡單單 Online zuozuo 簡簡單單 Online zuozuo :本心、輸入輸出、結果 簡簡單單 Online zuozuo : 文章目錄 Cursor 工具項目構建指南: Web Vue-Element UI 環境下的 Prompt Rules 約束前言項目簡…

hadoop集群啟動沒有datanode解決

問題 多次初始化會出現此問題&#xff0c;根本原因是ClusterID不一樣 解決 首先停止集群 stop-all.sh然后到/hadoop/logs中找到hadoop-root-datanode-hadoopxxx.log文件 cat一下這個文件&#xff0c;找到ClusterID 復制 然后到 可能文件會不太一樣&#xff0c;可能直接是…

ann算法的種類有哪些,之間的區別,各自的適用場景

ANN&#xff08;近似最近鄰&#xff09;算法主要分為三類技術路線&#xff1a;基于樹的方法、哈希方法和圖方法&#xff0c;它們在原理、性能及適用場景上有顯著差異&#xff1a; 1. 基于樹的方法 核心原理&#xff1a;遞歸劃分數據空間形成樹狀結構&#xff08;如二叉樹或多叉…

云服務器部署Gin+gorm 項目 demo

更多個人筆記見&#xff1a; &#xff08;注意點擊“繼續”&#xff0c;而不是“發現新項目”&#xff09; github個人筆記倉庫 https://github.com/ZHLOVEYY/IT_note gitee 個人筆記倉庫 https://gitee.com/harryhack/it_note 個人學習&#xff0c;學習過程中還會不斷補充&…

【學習筆記】TCP 與 UDP

TCP&#xff08;Transmission Control Protocol&#xff09;與UDP&#xff08;User Datagram Protocol&#xff09;是 網絡通訊 中最基礎也最常用的兩種 傳輸層 協議。 文章目錄 1. 簡介2. OSI 與 TCP/IP 模型中的定位3. 協議原理與關鍵機制3.1 UDP3.2 TCP 5. 實踐&#xff1a;…

HikariCP 可觀測性最佳實踐

HikariCP 介紹 HikariCP 是一個高性能、輕量級的 JDBC 連接池&#xff0c;由 Brett Wooldridge 開發。它以“光”命名&#xff0c;象征快速高效。它支持多種數據庫&#xff0c;配置簡單&#xff0c;通過字節碼優化和智能管理&#xff0c;實現低延遲和高并發處理。它還具備自動…