【06】C#入門到精通——C# 多個 .cs文件項目 同一項目下添加多個 .cs文件

文章目錄

  • 1 單個 .cs文件
  • 2 創建 多個 .cs文件
    • 2.1 添加Hero類
    • 2.1 添加ShowInfo類
    • 2.3 關于命名空間的引用
    • 2.4 所有.cs文件代碼
  • 3 test3項目文件下載

1 單個 .cs文件

上一講中 描述游戲中英雄的角色 所有代碼在一個.cs文件中,

如果代碼很多,類很多,就顯得很長,很亂,不便于管理查看

using System;
//類型
//關鍵字
class Program
{static void Main(){Console.WriteLine("月黑風高殺人夜");Console.WriteLine("(請按任意鍵繼續。。。)");Console.ReadKey();Console.WriteLine("微風吹動著路邊的小草");Console.WriteLine("(請按任意鍵繼續。。。)");Console.ReadKey();////----------英雄一---------------------/////Console.WriteLine("隱約在路的盡頭有一個人影");Console.WriteLine("(請按任意鍵繼續。。。)");Console.ReadKey();Console.WriteLine("走近一看,這人叫");//實例化Hero hr1 = new Hero();hr1.name = Console.ReadLine();Console.WriteLine("原來你就是" + hr1.name);Console.WriteLine("(請按任意鍵繼續。。。)");Console.ReadKey();hr1.xingbie = "男";hr1.nianling = 18;hr1.shanghai = 100;hr1.xueliang = 100;hr1.shengao = 175;hr1.jineng1 = "飛檐走壁";hr1.jineng1shanghai = 20;hr1.jineng2 = "飛沙走右";hr1.jineng2shanghai = 30;//打印英雄信息ShowInfo.ShowHeroInfo(hr1);Console.ReadKey();////----------英雄二---------------------/////Console.WriteLine("此時遠處傳來一個女人的聲音");Console.WriteLine("(請按任意鍵繼續。。。)");Console.ReadKey();Console.WriteLine("走進一看原來是: ");Console.WriteLine("(請按任意鍵繼續。。。)");Console.ReadKey();Console.WriteLine("請輸入女俠的名稱: ");//實例化Hero hr2 = new Hero();hr2.name = Console.ReadLine();Console.WriteLine("原來你就是" + hr2.name);Console.WriteLine("(請按任意鍵繼續。。。)");Console.ReadKey();hr2.xingbie = "女";hr2.nianling = 18;hr2.shanghai = 100;hr2.xueliang = 100;hr2.shengao = 165;hr2.jineng1 = "飛檐走壁2.0";hr2.jineng1shanghai = 40;hr2.jineng2 = "飛沙走右2.0";hr2.jineng2shanghai = 60;//打印英雄信息ShowInfo.ShowHeroInfo(hr2);Console.ReadKey();}
}class Hero
{//成員變量public string name;public string xingbie;public int nianling;public int shanghai;public int xueliang;public int shengao;public string jineng1;public int jineng1shanghai;public string jineng2;public int jineng2shanghai;
}
class ShowInfo
{//將Hero類,作為參數傳給 ShowInfo類的成員函數,以便于打印信息,public static void ShowHeroInfo(Hero hero){Console.WriteLine("性別: " + hero.xingbie);Console.WriteLine("年齡: " + hero.nianling);Console.WriteLine("基礎傷害: " + hero.shanghai);Console.WriteLine("基礎血量: " + hero.xueliang);Console.WriteLine("身高:" + hero.shengao);Console.WriteLine("技能1:" + hero.jineng1);Console.WriteLine("技能1傷害: " + hero.jineng1shanghai);Console.WriteLine("技能2:" + hero.jineng2);Console.WriteLine("技能2傷害: " + hero.jineng2shanghai);}
}

2 創建 多個 .cs文件

右鍵項目名->添加->新建項 /類
在這里插入圖片描述

在這里插入圖片描述
之后彈出 如下頁面

2.1 添加Hero類

在這里插入圖片描述
添加完成,命名空間 默認添加為 項目名 “test3”
在這里插入圖片描述

將Program.cs文件中的 Hero類的代碼直接剪切到 新建的Hero類中的 namespace test3括號內

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace test3
{class Hero{//成員變量public string name;public string xingbie;public int nianling;public int shanghai;public int xueliang;public int shengao;public string jineng1;public int jineng1shanghai;public string jineng2;public int jineng2shanghai;}
}

此時Program.cs文件中的 Hero相關的內容,都報錯,因為該文件下找不到 Hero相關內容;
點擊提示中的“顯示可能修補的程序”
在這里插入圖片描述

在這里插入圖片描述
在這里插入圖片描述
運行測試
在這里插入圖片描述

2.1 添加ShowInfo類

按照同樣的 方法 添加 ShowInfo類

在這里插入圖片描述

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace test3
{class ShowInfo{//將Hero類,作為參數傳給 ShowInfo類的成員函數,以便于打印信息,public static void ShowHeroInfo(Hero hero){Console.WriteLine("性別: " + hero.xingbie);Console.WriteLine("年齡: " + hero.nianling);Console.WriteLine("基礎傷害: " + hero.shanghai);Console.WriteLine("基礎血量: " + hero.xueliang);Console.WriteLine("身高:" + hero.shengao);Console.WriteLine("技能1:" + hero.jineng1);Console.WriteLine("技能1傷害: " + hero.jineng1shanghai);Console.WriteLine("技能2:" + hero.jineng2);Console.WriteLine("技能2傷害: " + hero.jineng2shanghai);}}
}

運行測試
在這里插入圖片描述

2.3 關于命名空間的引用

    1. 為什么要在Program.cs文件中的添加 using test3 呢?

因為,剛開始是 為了簡化 代碼結構,把命名空間 namespace test3這一層結構給去掉了,直接從 class Program開始的,

當加上 命名空間 namespace test3這一層結構,這時 就不需要 添加 using test3
在這里插入圖片描述

    1. 新建的類中的 模板自動添加的命名空間 沒有使用的都可以去掉

在這里插入圖片描述

2.4 所有.cs文件代碼

Program.cs文件

using System;
//using test3;
//類型
//關鍵字namespace test3
{class Program{static void Main(){Console.WriteLine("月黑風高殺人夜");Console.WriteLine("(請按任意鍵繼續。。。)");Console.ReadKey();Console.WriteLine("微風吹動著路邊的小草");Console.WriteLine("(請按任意鍵繼續。。。)");Console.ReadKey();////----------英雄一---------------------/////Console.WriteLine("隱約在路的盡頭有一個人影");Console.WriteLine("(請按任意鍵繼續。。。)");Console.ReadKey();Console.WriteLine("走近一看,這人叫");//實例化Hero hr1 = new Hero();hr1.name = Console.ReadLine();Console.WriteLine("原來你就是" + hr1.name);Console.WriteLine("(請按任意鍵繼續。。。)");Console.ReadKey();hr1.xingbie = "男";hr1.nianling = 18;hr1.shanghai = 100;hr1.xueliang = 100;hr1.shengao = 175;hr1.jineng1 = "飛檐走壁";hr1.jineng1shanghai = 20;hr1.jineng2 = "飛沙走右";hr1.jineng2shanghai = 30;//打印英雄信息ShowInfo.ShowHeroInfo(hr1);Console.ReadKey();////----------英雄二---------------------/////Console.WriteLine("此時遠處傳來一個女人的聲音");Console.WriteLine("(請按任意鍵繼續。。。)");Console.ReadKey();Console.WriteLine("走進一看原來是: ");Console.WriteLine("(請按任意鍵繼續。。。)");Console.ReadKey();Console.WriteLine("請輸入女俠的名稱: ");//實例化Hero hr2 = new Hero();hr2.name = Console.ReadLine();Console.WriteLine("原來你就是" + hr2.name);Console.WriteLine("(請按任意鍵繼續。。。)");Console.ReadKey();hr2.xingbie = "女";hr2.nianling = 18;hr2.shanghai = 100;hr2.xueliang = 100;hr2.shengao = 165;hr2.jineng1 = "飛檐走壁2.0";hr2.jineng1shanghai = 40;hr2.jineng2 = "飛沙走右2.0";hr2.jineng2shanghai = 60;//打印英雄信息ShowInfo.ShowHeroInfo(hr2);Console.ReadKey();}}}

Hero.cs文件

using System;namespace test3
{class Hero{//成員變量public string name;public string xingbie;public int nianling;public int shanghai;public int xueliang;public int shengao;public string jineng1;public int jineng1shanghai;public string jineng2;public int jineng2shanghai;}
}

ShowInfo.cs文件

using System;namespace test3
{class ShowInfo{//將Hero類,作為參數傳給 ShowInfo類的成員函數,以便于打印信息,public static void ShowHeroInfo(Hero hero){Console.WriteLine("性別: " + hero.xingbie);Console.WriteLine("年齡: " + hero.nianling);Console.WriteLine("基礎傷害: " + hero.shanghai);Console.WriteLine("基礎血量: " + hero.xueliang);Console.WriteLine("身高:" + hero.shengao);Console.WriteLine("技能1:" + hero.jineng1);Console.WriteLine("技能1傷害: " + hero.jineng1shanghai);Console.WriteLine("技能2:" + hero.jineng2);Console.WriteLine("技能2傷害: " + hero.jineng2shanghai);}}
}

在這里插入圖片描述

3 test3項目文件下載

test3項目文件下載

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

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

相關文章

【MySQL基礎篇】:MySQL常用數據類型的選擇邏輯與正確使用

?感謝您閱讀本篇文章,文章內容是個人學習筆記的整理,如果哪里有誤的話還請您指正噢? ? 個人主頁:余輝zmh–CSDN博客 ? 文章所屬專欄:MySQL篇–CSDN博客 文章目錄數據類型1.數據類型分類2.數值類型int整形類型bit位類型float小…

三、搭建springCloudAlibaba2021.1版本分布式微服務-springcloud loadbalancer負載均衡

什么是負責均衡 Spring Cloud LoadBalancer是一個客戶端負載均衡器,類似于Ribbon,但是由于Ribbon已經進入維護模式,并且Ribbon 2并不與Ribbon 1相互兼容,所以Spring Cloud全家桶在Spring Cloud Commons項目中,添加了Sp…

Oracle不完全恢復實戰指南:從原理到操作詳解

核心提示:當誤刪表、日志損壞或控制文件丟失時,Oracle的不完全恢復是DBA最后的救命稻草。掌握關鍵恢復技術,可在數據災難中力挽狂瀾。一、不完全恢復核心概念 1. 核心特點 必須關閉數據庫:在MOUNT狀態下執行重做日志恢復權限要求&…

Linux之shell腳本篇(二)

一、shell編程之if語句引言Linux在shell編程中,通常都是以自上而下運行,但是為了提高其代碼嚴謹性,我們即引入了多條件 控制語句例如:if、for、while、case等語句,有時候針對條件我們還會結合正則表達式去運用。將這些…

如何在android framewrok dump camera data

實現dump 函數 實現1 void dumpBufferToFile(buffer_handle_t* buffer, int width, int height, int frameNum) {void* data NULL;GraphicBufferMapper::getInstance().lock(*buffer, GRALLOC_USAGE_SW_READ_OFTEN, Rect(width, height), &data);char filename[128];sprin…

機器學習中的可解釋性:深入理解SHAP值及其應用

機器學習可解釋性的重要性在人工智能技術快速發展的2025年,機器學習模型已經深度滲透到醫療診斷、金融風控、司法量刑等關鍵領域。然而,隨著模型復雜度的不斷提升,一個根本性矛盾日益凸顯:模型預測性能的提升往往以犧牲可解釋性為…

.NET9 使用 OData 協議項目實戰

.NET 中 ODate 協議介紹 OData(Open Data Protocol) 是一個開放的 Web 協議,用于查詢和更新數據。在 .NET 生態系統中,OData 被廣泛支持和使用。 主要特性 1. 統一的數據訪問方式 提供標準化的查詢語法支持 CRUD 操作支持元數據描述 2. 查詢能力 標…

Android 性能優化:提升應用啟動速度(GC抑制)

前言 在移動應用開發領域,啟動速度是用戶體驗的重要指標。對于Android應用而言,垃圾回收(Garbage Collection, GC)機制雖然是內存管理的核心,但在應用啟動期間頻繁觸發GC會顯著拖慢啟動速度。本文將深入探討如何通過GC…

做了一款小而美的本地校驗器

需求說明 前陣子收到一則讀者留言,指出:市面上AI核稿工具(ProWritingAid,WPS AI Spell Check,Writer,QuillBot,Grammarly)要么收費太高,要么讓人擔心文章泄露。 如下圖所…

uniapp + uview-plus 微信小程序二維碼生成和保存完整解決方案

uniapp + uview-plus 微信小程序二維碼生成和保存完整解決方案 ?? 項目背景 在開發微信小程序時,經常需要實現二維碼的生成和保存功能。本文檔提供了一個基于 uniapp + uview-plus 框架的完整解決方案,徹底解決了以下常見問題: ? Canvas API 兼容性問題 ? 微信小程序權…

Linux中應用程序的安裝于管理

Linux中應用程序的安裝于管理 一 . rpm安裝 1.掛載 光驅里面存放了很多rpm的軟件包 光驅在系統中使用時,需要掛載 mount /dev/cdrom /mnt/ cd /mnt[rootstw mnt]# ls CentOS_BuildTag GPL LiveOS RPM-GPG-KEY-CentOS-7 EFI images Packag…

mysql重置密碼

要區分 MySQL 是通過 systemd 還是傳統 service 管理,以及對應的密碼重置方案,可按以下步驟操作: 一、如何區分管理方式(systemd 還是傳統 service) 通過以下命令判斷系統默認的服務管理方式:檢查系統是否使…

C++ TAP(基于任務的異步編程模式)

🚀 C TAP(基于任務的異步編程模式)1. 引言:走進異步編程新時代(🚀) 在當今高性能計算領域,同步編程模型的局限性日益凸顯。傳統的回調地獄和線程管理復雜性促使微軟提出了基于任務的…

利用C++手撕棧與隊列的基本功能(四)

棧和隊列詳細教程可以觀看 https://www.bilibili.com/video/BV1nJ411V7bd?spm_id_from333.788.videopod.episodes&vd_sourcedaed5b8a51d3ab7eb209efa9d0ff9a34&p48棧和隊列概念 棧和隊列是限定插入和刪除只能在表的端點進行的線性表在裝電池、裝彈夾、拿放盤子時都會出…

net8.0一鍵創建支持(Redis)

Necore項目生成器 - 在線創建Necore模板項目 | 一鍵下載 RedisController.cs using CSRedis; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using UnT.Template.Application.Responses; using UnT.Template.Domain;namespace UnT.Template.Controllers {…

Leetcode——42. 接雨水

還記得第一次見該題根本無從下手。其實,我們不妨把問題拆解,簡單化。不要怕自己寫的是暴力算法,有很多算法技巧其實就是在暴力算法的基礎上優化得來。題目目的是求所有可接雨水數量,我們可以求出每一個位置可接雨水數量&#xff0…

Go 語言-->指針

Go 語言–>指針 它允許你操作內存中的實際數據,而不僅僅是數據的副本。指針存儲的是另一個變量的內存地址,而不是變量的實際值。 1. 什么是指針 指針是存儲變量內存地址的變量,它指向另一個變量。通過指針,你可以間接地訪問和修…

軟工八將:軟件開發全流程核心角色體系解析

軟工八將:軟件開發全流程核心角色體系解析 作者注:本概念是由大學生董翔提出,具有一些影響意義。 在現代軟件開發領域,團隊角色的專業化分工是產品成功的核心保障。“軟工八將”作為一套系統梳理軟件開發全流程核心角色的術語&…

安全風險監測系統是什么?內容有哪些?

安全風險監測系統是基于物聯網感知網絡與智能分析技術的綜合管理平臺,通過實時采集、分析和評估各類安全風險指標,構建起覆蓋識別、預警、處置全流程的主動防御體系。作為現代安全管理的中樞神經系統,該系統實現了從被動響應到主動預防的范式…

車載診斷架構 ---面向售后的DTC應該怎么樣填寫?

我是穿拖鞋的漢子,魔都中堅持長期主義的汽車電子工程師。 老規矩,分享一段喜歡的文字,避免自己成為高知識低文化的工程師: 簡單,單純,喜歡獨處,獨來獨往,不易合同頻過著接地氣的生活,除了生存溫飽問題之外,沒有什么過多的欲望,表面看起來很高冷,內心熱情,如果你身…