[筆記]C# out、ref關鍵字差異
out 關鍵字out 關鍵字表示該參數是一個輸出參數,方法將為其賦值。使用 out 關鍵字的參數在方法調用之前不需要賦值。在方法內部,out 參數必須賦值,否則編譯器會報錯。以下是使用 out 關鍵字的範例:
12345678void Calculate(int input, out int output){ output = input * 2;}int input = 5;int result;Calculate(input, out result);
上面範例中,Calculate 方法帶有一個 input 參數和一個 out output 參數。Calculate 方法內部賦值了 output 參數,因此可以在方法調用後使用 result 變數來獲取方法的計算結果。
ref 關鍵字ref 關鍵字則表示該參數是一個引用參數,方法可以修改其值並且這些修改也會影響到參數的原始值。使用 ref 關鍵字的參數必須在方法調用之前賦值。以下是使用 ref 關鍵字的範例:
1234567void Increment(ref int value){ va ...
[筆記]C# 實體化與抽象化
實體類別實體類別是具體的類別,可以直接實例化為物件,並對其進行操作。實體類別可以包含屬性、方法、事件等成員,並且可以被其他類別繼承。以下是一個示例:
123456789101112131415161718public class Person{ public string Name { get; set; } public int Age { get; set; } public void SayHello() { Console.WriteLine("Hello, my name is " + Name + " and I am " + Age + " years old."); }}// 實例化一個Person物件Person p = new Person();p.Name = "John";p.Age = 30;// 呼叫方法p.SayHello();
抽象類別抽象類別是一種特 ...
【旅遊】日本入境 Visit Japan Web (無需使用)
Visit Japan WebVisit Japan Web 是由日本政府推出,可以從上面填寫檢疫、入境、申報等手續。目前有成田國際機場、羽田機場、關西國際機場、中部國際機場、福岡機場、新千歲機場、那霸機場可以使用 Visit Japan Web 檢疫。
網址 : https://vjw-lp.digital.go.jp/en/
一、同行家人Visit Japan Web 功能只能給 嬰兒、無法自行辦理的人使用,若一般使用者還是建議一人為原則申請。
二、三大重點入境前必須要完成以下三大重點才能快速入境,原則上疫苗必須要使用數位疫苗申請。
檢疫手續 (疫苗證明)
入境紀錄
海關申報
三、申請新增入境
檢疫手續申請數位新冠病毒健康證明申請 : 點選我
入境紀錄
海關申報海關申報部分較為簡單,依據選擇做填寫即可。
使用心得到達日本並非只需要看 “檢疫手續(快速通關)” 手續,順序會是 “檢疫手續” > “外國人入境紀錄” > “攜帶品、後送物品申報” 三個項目會按照順序使用,所以到現場使用 “截圖” 還不夠出境。
以下請準備項目、動作
Wifi 請在下飛機打開,並將截圖 ...
【前端】三大前端框架 - 安裝/環境設定
前言近期安排特殊的行程,我會把 React、Vue 、Angular 三大架框玩過一輪,在分析各式的架框使用的方式。我們就直接先從React先下手。本篇教學如何安裝 三大架框環境,後續再針對架構探討。
基本安裝以下我會使用的工具,依據讀者的習慣分配自己的工具。
Node.js (必)
Git
VS Code
安裝環境時,請確認 node 版本在進行下方作業。
1npm -v
一、React官方網連結:[ https://zh-hant.reactjs.org/ ]
1 安裝/創建 React安裝 React 請輸入npx create-react-app [名稱] ,如果有遇到下方錯誤訊息,請參考下方處理方式。
解决npm安装时出现run npm audit fix to fix them, or npm audit for details
安裝完畢後,請移動到指定PATH,指令 :cd [名稱],再來進行npm start開啟網站。
2 結果畫面二、Angular官方網連結:[ https://angular.io/ ]
1 安裝/創建 Angula ...
C# 表單驗證 - FormsAuthentication 驗證自動登入
前言最近需要開始撰寫 ASP.Net MVC,目前遇到Form驗證實例會有自動驗證登入,藉由這次機會來展現身手。
FormsAuthenticationTicket功能主要紀錄使用者資訊,他會有一組Cookies暫存,內部值會經過加密編碼、解密。如果第一次使用這個功能,千萬記住不要嘗試把密碼填入當中。
使用方式從 Client 點入登入網頁,這時Controllers可以進行驗證判斷,若有取得ticket成功會轉到首頁或是會員頁面;若驗證失敗則重新登入。
Authorize 身分驗證確保不讓外界隨意登入,需要再 Controllers上方輸入 Authorize,如果沒有登入成功會有訊息提示。
12345678 namespace ExampleForm.Controllers{ [Authorize()] public class MainController : Controller { return View(); }}
WebConfig 設定這邊需要加入錯誤導向頁面設定。
12345<sys ...
Angular (一) -練習Router使用方式
前言Angular 近期蠻多公司願意使用的一項框架,他使用Type-Script 來開發是一個好的選擇,後期其他前台框架陸續更近所以差異就不會太大。PS: 目前不介紹TS使用方式。
AngularAngular 是基於 TypeScript 的開發平台。通常是指 “Angular 2+” 或 “Angular v2 及更高版本,框架由 Google 的 Angular 團隊以及社群共同領導。
上圖。Angular 應用的架構。其主要的構造塊是模組、組件、模板、元資料、資料繫結、指令、服務和依賴注入。
前置作業
NodeJs
VSC
VSC Marketplace
安裝指令:必須要先安裝NodeJs才能執行。npm install @angular/cli
創建專案創建專案也是相對簡單,本篇範例是用 version 14 如果不知道自己版本可以使用ng v。
指令為 ng new [source name] 即可,14版本會詢問是否要routing 以及css,記得要把routing 允許以及選擇自己比較熟悉的css。
1ng new useAngular
創建Pages第一次 ...
VTuber 零成本製作(一) - 建立角色
前言去年製作 製作 Scanner 章節,想到 VTuber 製作部分可以直接使用這些工具嘗試製作。本作者不是專業VTuber 製作師不適合直接使用 Live2D 製作,因此用快速建檔方式完成建模。
(如果使用需要使用工具就需要自備)
相關章節
製作 Scanner (一) - 把手機轉換電腦攝影機
製作 Scanner (二) - 快速使用讀取器/掃描器 (使用 html5-qrcode )
需要使用工具
Dev47Apps、手機
VRoid Studio、VRoid Hub
VRoidVRoid 是一套免費軟體的VTuber 製作軟體,初期需要從這邊建立簡單人物。下圖為初起介面。
一、創建角色(角色配置不詳細介紹自行挖掘、製作)
二、匯出角色這邊會需要創建 VRM 副檔名,需要確認匯出是否是VRM 。如果要使用 VRoid Hub 也是一樣,至指定角色頁面按下下載即可。
VTuber 零成本製作(二) - 直播設定
前言繼續上一篇未完成部分安裝 VMagicMirror ,這軟體主要是補助角色在直播中使用你創建的角色直播,需要配合 OBS 來完成直播功能。
安裝 VMagicMirror下載點 : 請點擊
一、VMagicMirror初始會有兩個畫面存在,左邊會是創建角色的呈現位置,右邊則是設定檔。現在我們將剛才的VRM檔案開啟。
讀取完後,立即可以呈現目前角色模樣。(目前先不使用 Dev47App )
二、使用 OBS現在使用 【視窗攝取】方式設定 VMagicMirror 視窗,就會完成以上動作。
如果需要移除後面的綠色背景請將透明背景打給即可。
SourceTree (一) - 創建多層次 branch
近期因工作需要換 Git 工具,從 Github Desktop 轉換到 SourceTree 工具,目前最吸引的部分是圖形(Graph)部分非常好分析 branch marge 狀況以及 branch 使用狀況。這篇簡單操作 “創建多層次 branch”。
SourceTree 是以 Git 為基礎設計的 GUI 圖形化工具。與 Github Desktop 比較上 Github Desktop 缺少圖形化介面缺乏管理、維護。
官方網址SourceTree : https://www.sourcetreeapp.com/
安裝方式step.1 註冊bitbucket 與 github 是同類型的工具,採用 Mercurial 和Git 作為版控部分。這邊就請自行註冊。
step.2 安裝工具
進階選項-備註來自 Sourcetree - git 的 GUI 管理軟體
第一項如果勾選的話會在 checkout ( 切換 commit ) 的時候,自動將斷行符號由 LF ( linux ) 轉成 CRLF ( windows ),如果是在 linux 的系統上安裝則相反,選擇這個的好處 ...
sourcetree(二)-目前分支解衝突
前言SourceTree 目前是眾多企業使用的一套Git GUI 介面軟體,初期因為努力摸索有幾些問題不知道怎樣排除,會配合Github Desktop 解決目前問題。遇到問題是當需要 Push 時候與Pull產生衝突,要如何解決。
驗證方式使用 Commit 中, “Amend latest commit” 選項達成當前情境。
步驟
創建新的分支,建議不要跟develop或是 master 有任何關聯。
新增 .Txt 就可
第一次Commit 不要勾選任何選項。但切記要隨便寫任何字。
第二次設定 Commit 需要把 “Amend latest commit” 勾起來,就可以達到這樣效果。
解決步驟選擇要Commit 項目 (通常是第一個),再選擇 “Reset current branch to this commit”,選擇要保留方式即可完成。
目前為止還沒發現,Push 前可以使用 Undo 的方式 (Github 有這項功能),那只能暫時使用這招解決現行問題。