首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> ASP.NET 基礎 >> ASP.NET 基礎

ASP.NET Razor C# 變數與資料類型完整參考

     編輯:ASP.NET 基礎

ASP.NET Razor - C# 變數宣告、資料類型、運算子與型別轉換完整指南


C# 為強型別、大小寫敏感語言。掌握 var 型別推論、內建型別系統、運算子優先序與安全型別轉換模式,撰寫高效能、易維護的 Razor 程式碼。


變數宣告與型別推論

隱含型別區域變數 (var) - 推薦做法

// Using the var keyword:
var greeting = "Welcome to W3CSchool.cc";
var counter = 103;
var today = DateTime.Today;

var 由編譯器根據指派值推斷型別,**編譯時期已確定型別**,非動態型別。僅限區域變數使用。

顯式型別宣告

// Using data types:
string greeting = "Welcome to W3CSchool.cc";
int counter = 103;
DateTime today = DateTime.Today;

C# 核心內建型別對照表

C# 關鍵字.NET 型別描述範圍/範例
intSystem.Int3232 位元有號整數-2,147,483,648 ~ 2,147,483,647
floatSystem.Single32 位元單精度浮點數±1.5E-45 ~ ±3.4E38, 7 位數字精度
doubleSystem.Double64 位元雙精度浮點數±5.0E-324 ~ ±1.7E308, 15-16 位精度
decimalSystem.Decimal128 位元高精度十進位 (財務首選)±1.0E-28 ~ ±7.9E28, 28-29 位精度
boolSystem.Boolean邏輯真偽true, false
stringSystem.StringUnicode 字串 (不可變)"Hello", @"C:\Path"
charSystem.Char單一 Unicode 字元'A', '\n', '\u0041'
objectSystem.Object所有型別基底任意值
dynamicSystem.Object (DLR)動態繫結 (執行時期解析)延遲型別檢查

其他整數型別:byte (0-255)、short (Int16)、long (Int64)、uint/ulong (無號)。


C# 運算子完整分類與優先序 (高→低)

優先序分類運算子說明
1 (最高)後綴x++, x--後置遞增/遞減
一元+x, -x, !x, ~x, ++x, --x正負號、邏輯非、位元補數、前置遞增減
型別轉換(T)x強制型別轉換
2乘法性*, /, %乘、除、取餘
3加法性+, -加、減、字串串接 (+)
4位移<<, >>左移、右移
5關係<, >, <=, >=, is, as比較、型別測試
6等值==, !=相等、不等 (值型別比值、參考型別比參考)
7位元 AND&位元與
8位元 XOR^位元異或
9位元 OR|位元或
10條件 AND&&短路邏輯與
11條件 OR||短路邏輯或
12Null 條件??Null 聯合運算子
13條件?:三元運算子
14指派=, +=, -=, *=, /=, %=, ??=指派與複合指派
15 (最低)Lambda=>Lambda 運算子

安全型別轉換與驗證模式

使用者輸入 (Request、QueryString、Form) 均為字串,運算前必須驗證並轉換:

方法功能回傳範例
AsInt() / IsInt()轉換/檢查整數int / boolif (myString.IsInt()) { myInt = myString.AsInt(); }
AsFloat() / IsFloat()轉換/檢查浮點數float / boolif (myString.IsFloat()) { myFloat = myString.AsFloat(); }
AsDecimal() / IsDecimal()轉換/檢查十進位decimal / boolif (myString.IsDecimal()) { myDec = myString.AsDecimal(); }
AsDateTime() / IsDateTime()轉換/檢查日期DateTime / boolmyDate = "10/10/2024".AsDateTime();
AsBool() / IsBool()轉換/檢查布林bool / boolmyBool = "True".AsBool();
ToString()任意型別轉字串stringmyString = 1234.ToString();

進階模式: int.TryParse、DateTime.TryParseExact 提供更精細的文化特性控制與錯誤處理。生產環境建議使用 Data Annotations 驗證屬性 ([Required], [Range], [RegularExpression]) 於模型層級統一驗證。


  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved