C#基礎語法與控制臺操作

1. 控制臺操作基礎

控制臺程序是學習C#的起點。以下是一些常用的控制臺操作方法:

1.1. 清除控制臺
Console.Clear(); // 清除控制臺內容
1.2. 輸出字符串
Console.WriteLine("Hello World!"); // 在屏幕的當前位置換行輸出字符串
Console.Write("hello"); // 在屏幕的當前位置輸出字符串,不換行

Console是控制臺類,WriteLine是方法,"Hello World!"是參數。

1.3. 輸入數據
Console.ReadLine();//等待用戶輸入一行數據,直到回車為止
string s = Console.ReadLine(); //string獲取返回值,console是類,readline是方法;
1.4. 等待按鍵輸入
Console.ReadKey(); //暫停當前程序,等待用戶按下任意鍵繼續,按下的任意鍵將顯示在控制臺當中
1.5. 讓計算機發出蜂鳴聲
Console.Beep();//讓計算機發出蜂鳴聲
Console.Beep(200,1000);//是指定頻率、持續時長(毫秒)
1.6. 設置光標位置
Console.SetCursorPosition(5, 10); // 設置光標的坐標,橫坐標為5,縱坐標為10
1.7. 設置前景色和背景色
Console.ForegroundColor = ConsoleColor.Red; // 設置前景顏色為紅色
Console.BackgroundColor = ConsoleColor.Gray; // 設置背景顏色為灰色
Console.ResetColor(); //設置成默認顏色
1.8. 設置控制臺標題
Console.Title = "Hello"; // 設置控制臺標題
1.9. 程序暫停
System.Threading.Thread.Sleep(3000); // 程序暫停3000毫秒(3秒)

2. 字符串與轉義字符

在C#中,字符串可以包含轉義字符,例如

  • \n:表示換行,\r\n表示windows系統換行
  • \" :表示一個英文半角的雙引號
  • \t:表示制表符tab鍵。
  • \b:表示一個退格鍵backspace,刪除前面一個字符
  • \\: 表示一個\
  • 如果不想讓\具有轉義作用,可以使用@符號:
Console.WriteLine(@"C:\aa\bb\c.txt"); // @符號表示后面的\不具有轉義作用

3. 數據類型轉換

C#提供了豐富的數據類型轉換方法,例如:

char ch1 = 'a'; // char類型有且只有一個字符
Console.WriteLine("int最大值: " + int.MaxValue); // 輸出int的最大值
Console.WriteLine("int最小值: " + int.MinValue); // 輸出int的最小值int i = 9;
string s = Convert.ToString(i); // 將int轉換為string
string j = "123";
int k = Convert.ToInt32(j); // 將string轉換為int

4. 枚舉的使用

枚舉是一種特殊的數據類型,用于定義一組命名的常量。例如:

enum Dir // 聲明枚舉類型
{East, West, South, North
}
Dir d = Dir.West; // 在main()方法中調用枚舉
Console.WriteLine(d); // 輸出:West

5. 字符串拼接與運算符優先級

在C#中,字符串拼接使用+符號。需要注意的是,運算符的優先級會影響輸出結果:

Console.WriteLine(5 + 5 + "hello"); // 輸出:10hello
Console.WriteLine("hello" + (5 + 5)); // 輸出:hello10
Console.WriteLine("hello" + 5 + 5); // 輸出:hello55

6. 自增與自減運算符

自增(++)和自減(--)運算符在C#中非常常用。它們的使用方式如下:

int i = 10;
Console.WriteLine(i++); // 輸出:10,然后i加1
Console.WriteLine(++i); // 先將i加1,然后輸出:12

7. 循環語句

循環語句是編程中常用的控制結構。以下是一個for循環的示例:

for (int i = 1; i < 4; i++) // 初始化表達式(只執行一次);循環條件表達式;循環后的操作表達式
{Console.WriteLine("hello world");
}

8. 時間與日期

C#提供了強大的日期和時間處理功能。以下是如何獲取當前時間的示例:

Console.WriteLine(DateTime.Now); // 輸出當前時間

9. 數組的使用

數組是存儲多個相同類型數據的集合。以下是一些數組操作的示例:

int[] a1 = new int[5]; // 定義一個長度為5的數組
a1[0] = 3; // 往數組指定位置放數據, 沒有數據則補0
a1[1] = 8;
a1[2] = 5;
a1[3] = 99;
a1[4] = 33;
int i = a1[3]; // 從數組指定位置取數據
Console.WriteLine(i); // 輸出:99int[] a2 = { 3, 5, 2 }; // 初始化數組
Console.WriteLine(a2[1]); // 輸出:5
a2[1] = 333;
Console.WriteLine(a2[1]); // 輸出:333

10. 條件語句

條件語句用于根據條件執行不同的代碼塊。以下是一個簡單的if語句示例:

char c = 'a';
if (!char.IsDigit(c)) // 判斷char是否是十進制數字
{Console.WriteLine("不能包含有字符");return;//退出當前函數(方法)
}

11. 消息框的使用

在Windows應用程序中,可以使用MessageBox顯示消息框:

MessageBox.Show(int.MaxValue.ToString()); // 顯示int的最大值,int的最大值為2147483647(10位)

12. 接口的使用

接口是一種定義方法和屬性的契約,實現接口的類必須實現接口中定義的所有方法。以下是一個接口的示例:

interface ISpeakable
{void Speak();
}

13. 數據庫操作

C#提供了強大的數據庫操作功能,通過System.DataSystem.Data.SqlClient命名空間可以方便地操作數據庫:

using System.Data; // 包含DataTable、DataSet、DataRow等
using System.Data.SqlClient; // 用于操作ADO.NET

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

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

相關文章

100.Complex[]同時儲存實數和虛數兩組double的數組 C#例子

在信號處理中&#xff0c;IQ 數據&#xff08;In-phase and Quadrature&#xff09;通常表示復數形式的信號&#xff0c;其中實部表示同相分量&#xff0c;虛部表示正交分量。Complex[] data 是一個包含 IQ 數據的數組&#xff0c;每個元素是一個復數&#xff0c;表示一個信號樣…

停止追逐 React 重渲染

大多數開發者都在浪費時間對抗多余的重渲染。真正的 React 架構師根本讓問題無從產生——下面就來揭開他們的思路&#xff0c;以及為何大多數所謂的性能優化技巧反而拖慢了你的應用。 重渲染的無盡輪回 先來直擊痛點&#xff1a;如果還在項目里到處撒 useMemo、useCallback&…

流水線的安全與合規 - 構建可信的交付鏈

流水線的安全與合規 - 構建可信的交付鏈 “安全左移 (Shift-Left Security)”的理念 “安全左移”是 DevSecOps 的核心理念,指的是將安全測試和考量,從軟件開發生命周期 (SDLC) 的末端(發布前),盡可能地向左移動到更早的階段(如編碼、構建、測試階段)。 為何對 SRE 至…

???????神經網絡基礎講解 一

??一.神經網絡 ? ??1. 全連接神經網絡&#xff08;Fully Connected Network, FCN&#xff09;?? ??核心概念&#xff1a;?? ??輸入層??&#xff1a;接收原始數據&#xff08;如數字、圖片像素等&#xff09; 數字矩陣 。??隱藏層??&#xff1a;對數據…

MySQL 8.0 OCP 英文題庫解析(二十二)

Oracle 為慶祝 MySQL 30 周年&#xff0c;截止到 2025.07.31 之前。所有人均可以免費考取原價245美元的MySQL OCP 認證。 從今天開始&#xff0c;將英文題庫免費公布出來&#xff0c;并進行解析&#xff0c;幫助大家在一個月之內輕松通過OCP認證。 本期公布試題201~210 試題2…

【大模型推理】PD分離場景下decoder負載均衡,如何選取decoder

https://mp.weixin.qq.com/s?__bizMzg4NTczNzg2OA&mid2247507420&idx1&sn4b32726abd205c7f94144bcb9105330f&chksmce64b9fc7f1d8de04a40b0153302dee52262c6f104c67195e2586e75c8093b8be493f252c8a3#rd 在非 Local 場景下&#xff0c;Prefill 定時獲取 Decode …

【IP地址】IP應用場景的使用方向

網絡安全領域 通過IP地址查詢&#xff0c;安全系統能夠實時監控網絡流量&#xff0c;識別異常訪問行為。例如&#xff0c;當某個IP地址在短時間內頻繁發起大量請求&#xff0c;且訪問模式與正常用戶存在明顯差異時&#xff0c;系統可將其標記為可疑IP&#xff0c;觸發風險預警…

3-18 WPS JS宏 顏色設置實例應用(按條件設置單元格顏色)學習筆記

前面講解了關于單元格的一些格式的設置&#xff0c;本節課再講解一下各種清除方法。 1.函數解析與用法 Range().clear()//清除全部 Range().Value2null //清除內容 Range().ClearContents()//清除內容 Range().ClearFormats()//清除格式 Range().EntireRow.Range()//以Ra…

從零開始的云計算生活——第二十天,腳踏實地,SSH與Rsync服務

目錄 一.故事背景 二.SSH帶外管理 1.概述 2. 配置文件 3.命令解析 4.登錄方式配置 a.用戶名密碼登錄 b.公鑰驗證登錄 5.實操生成密鑰對 三.Rsyncsersync實現數據實時同步 1.rsync概述 2.rsync運行原理 3.rsync部署 4.備份測試 配置備份目錄 5.rsyncsersync 實現…

SpringAI + DeepSeek大模型應用開發 - 初識篇

一、認識AI 1. AI的發展 AI&#xff0c;人工智能&#xff08;Artificial Intelligence&#xff09;&#xff0c;使機器能像人類一樣思考、學習和解決問題的技術。 2. 大模型及其原理 在自然語言處理&#xff08;Natural Language Processing, NLP&#xff09;中&#xff0c;…

c++第八天-多態

虛函數虛析構函數純虛函數與抽象類 多態實現的條件&#xff1a;&#xff08;1&#xff09;公有繼承 &#xff08;2&#xff09;派生類重寫基類虛函數 &#xff08;3&#xff09;基類指針/引用指向派生類對象 虛函數不能是構造函數&#xff0c;不能是靜態函數&#xff0c;不能…

全景圖渲染Vue3+TS使用Photo Sphere Viewer插件實現

1.Photo Sphere Viewer插件安裝: title=插件安裝 體驗AI代碼助手 代碼解讀復制代碼npm install photo-sphere-viewer -S 或 yarn add photo-sphere-viewer -S 2.原始全景圖展示 初始化標簽容器 體驗AI代碼助手 代碼解讀復制代碼 // 全景圖的根節點必須要具備寬高 TS引用,創建…

Redis之分布式鎖(3)

這篇文章我們來詳細介紹一下如何正確地基于Redis實現分布式鎖。 基于Redis的分布式鎖實現 組件依賴 首先通過Maven引入Jedis開源組件&#xff0c;在pom.xml文件加入下面的代碼&#xff1a; <dependency><groupId>redis.clients</groupId><artifactId&g…

Java課堂筆記11

三個修飾符 一、abstract&#xff08;抽象&#xff09; 1.抽象方法只能在抽象的類里&#xff0c;只有方法的聲明&#xff0c;沒有方法的實現。&#xff08;沒有{}直接&#xff1b;結尾&#xff09;。 2.abstract修飾的類稱為抽象類。 注意&#xff1a;&#xff08;1&#x…

Linux 核心知識點整理(高頻考點版)

一、編譯與工具鏈 GCC 編譯流程 四階段&#xff1a;預處理&#xff08;-E&#xff0c;處理頭文件 / 宏&#xff09;→ 編譯&#xff08;-S&#xff0c;生成匯編&#xff09;→ 匯編&#xff08;-c&#xff0c;生成目標文件&#xff09;→ 鏈接&#xff08;生成可執行程序&…

輕量化社交管理方案:Skout與云手機的巧妙搭配

在移動社交時代&#xff0c;許多用戶開始嘗試通過多賬號管理來拓展社交圈層。近期測試了Skout社交平臺與亞矩陣云手機的搭配使用&#xff0c;發現這個組合為輕量級社交賬號管理提供了一個值得關注的解決方案。 基礎功能介紹 這套組合的核心優勢在于&#xff1a; 通過云手機實…

ETL連接器好用嗎?如何實現ETL連接?

目錄 一、ETL連接器的功能和優勢 1. 數據抽取能力 2. 數據轉換功能 3. 數據加載功能 4. 優勢總結 二、實現ETL連接的步驟 1. 需求分析 2. 選擇合適的ETL連接器 3. 配置數據源和目標系統 4. 設計ETL流程 5. 開發和測試ETL任務 6. 部署和監控ETL任務 三、ETL連接器在…

uniapp實現聊天中的接發消息自動滾動、消息定位和回到底部

前言 前言無需多言&#xff0c;想必大家對聊天軟件的功能已經很熟悉&#xff0c; 這里不做過多贅述&#xff0c;筆者通過uniapp實現聊天中的接發消息自動滾動、消息定位和回到底部。 代碼實現 <template><view class"chat-container"><!-- 消息列表…

MyBatisMyBatis plus

整合 MyBatis 到 Spring 或 Spring Boot 項目中&#xff0c;可以極大地簡化開發流程&#xff0c;尤其是當使用 Spring Boot 時&#xff0c;它提供了自動配置功能&#xff0c;使得集成更加簡便。 在 Spring Boot 中整合 MyBatis 1. 添加依賴 首先&#xff0c;在 pom.xml 文件中…

Stable Diffusion 實戰-手機壁紙制作 第二篇:優化那些“崩臉”和“馬賽克”問題,讓圖像更加完美!

歡迎回來!在《StableDiffusion實戰-手機壁紙制作》系列的第一篇中,我們成功完成了基礎操作,制作出了令人炫目的手機壁紙。 今天,我們將進入一個更高階的領域——優化處理。因為誰不想讓生成的藝術品更完美呢?尤其是避免“崩臉”和“馬賽克”這種讓人抓狂的問題! 創作的路…