仿 wordpress簡述seo的應用范圍
?如需得到一個類型或一個變量在特定平臺上的準確尺寸,可以使用 sizeof 方法。表達式 sizeof(type) 產生以字節(jié)為單位存儲對象或類型的存儲尺寸。下面舉例獲取任何機器上 int 類型的存儲尺寸:
using System;namespace DataTypeApplication
{class Program{static void Main(string[] args){Console.WriteLine("Size of int: {0}", sizeof(int));Console.ReadLine();}}
}
?
引用類型
引用類型不包含存儲在變量中的實際數據,但它們包含對變量的引用。
換句話說,它們指的是一個內存位置。使用多個變量時,引用類型可以指向一個內存位置。如果內存位置的數據是由一個變量改變的,其他變量會自動反映這種值的變化。內置的引用類型有:object、dynamic 和 string。
對象(Object)類型
對象(Object)類型 是 C# 通用類型系統(tǒng)(Common Type System - CTS)中所有數據類型的終極基類。Object 是 System.Object 類的別名。所以對象(Object)類型可以被分配任何其他類型(值類型、引用類型、預定義類型或用戶自定義類型)的值。但是,在分配值之前,需要先進行類型轉換。當一個值類型轉換為對象類型時,則被稱為 裝箱;另一方面,當一個對象類型轉換為值類型時,則被稱為 拆箱。
object obj;
obj = 100; // 這是裝箱
動態(tài)(Dynamic)類型
您可以存儲任何類型的值在動態(tài)數據類型變量中。這些變量的類型檢查是在運行時發(fā)生的。
聲明動態(tài)類型的語法:
dynamic <variable_name> = value;
?例如:
dynamic d = 20;
字符串(String)類型
字符串(String)類型 允許您給變量分配任何字符串值。字符串(String)類型是 System.String 類的別名。它是從對象(Object)類型派生的。字符串(String)類型的值可以通過兩種形式進行分配:引號和 @引號。
例如:
String str = "runoob.com";
一個 @引號字符串:
@"runoob.com";
?C# string 字符串的前面可以加 @(稱作"逐字字符串")將轉義字符(\)當作普通字符對待,比如:
string str = @"C:\Windows";
?等價于:
string str = "C:\\Windows";
?@ 字符串中可以任意換行,換行符及縮進空格都計算在字符串長度之內。
string str = @"<script type=""text/javascript"">
? ? <!--
? ? -->
</script>";
?用戶自定義引用類型有:class、interface 或 delegate。我們將在以后的章節(jié)中討論這些類型。
指針類型
指針類型變量存儲另一個類型的內存地址,C#中的指針與C或C++中的指針有相同的功能,聲明指針類型的語法:
type* identifier;
例如:
char* cptr;
int* iptr;
C#類型轉換
類型轉換從根本上說是類型鑄造,或者說是把數據從一種類型轉換為另一種類型。在 C# 中,類型鑄造有兩種形式:
隱式類型轉換 - 這些轉換是 C# 默認的以安全方式進行的轉換, 不會導致數據丟失。例如,從小的整數類型轉換為大的整數類型,從派生類轉換為基類。
顯式類型轉換 - 顯式類型轉換,即強制類型轉換。顯式轉換需要強制轉換運算符,而且強制轉換會造成數據丟失。
下面的實例顯示了一個顯式的類型轉換:
namespace TypeConversionApplication
{class ExplicitConversion{static void Main(string[] args){double d = 5673.74;int i;// 強制轉換 double 為 inti = (int)d;Console.WriteLine(i);Console.ReadKey();}}
}
?
?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace ConsoleApp2{public class Example{public static void Main(){int value = 12345678;//定義一個整數byte[] bytes = BitConverter.GetBytes(value);//定義一個字節(jié)數組,將整數轉為字節(jié)Console.WriteLine(BitConverter.ToString(bytes));//輸出字節(jié)數組if (BitConverter.IsLittleEndian){Console.WriteLine("你的電腦默認為小端序排列字節(jié)");Array.Reverse(bytes);//如果電腦默認小端序排列數組,那么反轉數組,轉為大段序排列}Console.WriteLine(BitConverter.ToString(bytes));//輸出字節(jié)數組,如果變化,說明電腦默認是小端序排列int j = BitConverter.ToInt32(bytes, 0);Array.Reverse(bytes);Console.WriteLine("j:" + j );// Call method to send byte stream across machine boundaries.// Receive byte stream from beyond machine boundaries.Console.WriteLine(BitConverter.ToString(bytes));if (BitConverter.IsLittleEndian)Array.Reverse(bytes);Console.WriteLine(BitConverter.ToString(bytes));int result = BitConverter.ToInt32(bytes, 0);Console.WriteLine("Original value: {0}", value);Console.WriteLine("Returned value: {0}", result);Console.ReadKey();}}
?
?
namespace ConsoleApp2{public class Example{public static void Main(){int i = 75;float f = 53.005f;double d = 2345.7652;bool b = true;Console.WriteLine(i.ToString());Console.WriteLine(f.ToString());Console.WriteLine(d.ToString());Console.WriteLine(b.ToString());Console.ReadKey();}}
以下是各種類型的整數常量的實例:?
85 ? ? ? ? /* 十進制 */
0213 ? ? ? /* 八進制 */
0x4b ? ? ? /* 十六進制 */
30 ? ? ? ? /* int */
30u ? ? ? ?/* 無符號 int */
30l ? ? ? ?/* long */
30ul ? ? ? /* 無符號 long */
浮點常量
一個浮點常量是由整數部分、小數點、小數部分和指數部分組成。您可以使用小數形式或者指數形式來表示浮點常量。
這里有一些浮點常量的實例:
3.14159 ? ? ? /* 合法 */
314159E-5L ? ?/* 合法 */
510E ? ? ? ? ?/* 非法:不完全指數 */
210f ? ? ? ? ?/* 非法:沒有小數或指數 */
.e55 ? ? ? ? ?/* 非法:缺少整數或小數 */
?
字符常量
字符常量是括在單引號里,例如,‘x’,且可存儲在一個簡單的字符類型變量中。一個字符常量可以是一個普通字符(例如 ‘x’)、一個轉義序列(例如 ‘\t’)或者一個通用字符(例如 ‘\u02C0’)。
在 C# 中有一些特定的字符,當它們的前面帶有反斜杠時有特殊的意義,可用于表示換行符(\n)或制表符 tab(\t)。在這里,列出一些轉義序列碼:
?