Platform::String 類別

用來代表文字之 Unicode 字元的循序集合。 如需詳細資訊和範例,請參閱 字串

語法

public ref class String sealed : Object,
    IDisposable,
    IEquatable,
    IPrintable

迭代器

兩個不是 String 類別成員的反覆運算器函式可以搭配函式範本使用 std::for_each ,以列舉 String 物件中的字元。

member 描述
const char16* begin(String^ s) 讓指標回到指定 String 物件的開頭。
const char16* end(String^ s) 讓指標回到指定 String 物件的結尾之後。

成員

字串類別繼承自 Object 以及 IDisposable、IEquatable 與 IPrintable 介面。

字串類別也有下列幾種型别的成員。

建構函式

member 描述
String::String 初始化字串類別的新執行個體。

方法

字串類別會從 Platform::Object Class繼承 Equals()、Finalize()、GetHashCode()、GetType()、MemberwiseClose() 與 ToString() 等方法。 字串也有下列方法。

方法 描述
String::Begin 讓指標回到目前字串的開頭。
String::CompareOrdinal 評估物件所代表之兩個字串值中的對應字元數值,藉以比較兩個 String 物件。
String::Concat 串連兩個 String 物件的值。
String::D ata 讓指標回到目前字串的開頭。
String::D ispose 釋放或釋出資源。
String::End 讓指標回到目前字串的結尾之後。
String::Equals 指出指定的物件是否等同於目前的物件。
String::GetHashCode 傳回這個執行個體的雜湊碼。
String::IsEmpty 指出目前 String 物件是否為空。
String::IsFastPass 指出目前的 String 物件是否參與 快速傳遞 作業。 在快速傳遞作業時,參考計數會暫停。
String::Length 擷取目前 String 物件的長度。
String::ToString 傳回值與目前字串相同的 String 物件。

操作員

String 類別具有下列運算子。

member 描述
String::operator== 運算子 指出兩個指定的 String 物件是否具有相同的值。
operator+ 運算子 將兩個 String 物件串連成新的 String 物件。
String::operator > 運算子 指出其中一個 String 物件的值是否大於另一個 String 物件的值。
String::operator > = 運算子 指出其中一個 String 物件的值是否大於或等於另一個 String 物件的值。
String::operator!= 運算子 指出兩個指定的 String 物件是否有不同的值。
String::operator < 運算子 指出其中一個 String 物件的值是否小於另一個 String 物件的值。

需求

最低支援用戶端: Windows 8

最低支援伺服器: Windows Server 2012

命名空間: Platform

標頭 :vccorlib.h (預設包含)

String::Begin 方法

讓指標回到目前字串的開頭。

語法

char16* Begin();

傳回值

位於目前字串開頭處的指標。

String::CompareOrdinal 方法

靜態方法,可藉由評估 物件所表示之兩個字串值中對應字元的數值,比較兩 String 個物件。

語法

static int CompareOrdinal( String^ str1, String^ str2 );

參數

str1
第一個 String 物件。

str2
第二個 String 物件。

傳回值

整數,表示兩個比較元 (Comparand) 之間的語彙關係。 下表列出可能的傳回值。

Condition
-1 str1 小於 str2
0 str1 等於 str2
1 str1 大於 str2

String::Concat 方法

串連兩個 String 物件的值。

語法

String^ Concat( String^ str1, String^ str2);

參數

str1
第一個 String 物件,或 null

str2
第二個 String 物件,或 null

傳回值

str1str2 兩者的值串連後得出其值的新 String^ 物件。

如果 str1nullstr2 不是,則會傳回 str1。 如果 str2nullstr1 不是,則會傳回 str2。 如果 str1str2 都是 null,則會傳回空字串 (L"")。

String::Data 方法

傳回物件資料緩衝區開頭的指標當做 char16 (wchar_t) 元素的 C-style 陣列。

語法

const char16* Data();

傳回值

Unicode 字元陣列開頭的 const char16 指標( char16 是 的 typedef 。 wchar_t

備註

使用這個方法可從 Platform::String^ 轉換為 wchar_t*。 當 String 物件超出範圍時,資料指標不再保證有效。 若要將資料儲存在原始 String 物件的存留期之外,請使用 wcscpy_s 將陣列複製到您自己配置的記憶體中。

String::Dispose 方法

釋放或釋出資源。

語法

virtual override void Dispose();

String::End 方法

讓指標回到目前字串的結尾之後。

語法

char16* End();

傳回值

超過目前字串結尾的指標。

備註

End() 會傳回 Begin() + Length。

String::Equals 方法

指出指定的字串是否擁有與目前物件相同的值。

語法

bool String::Equals(Object^ str);
bool String::Equals(String^ str);

參數

str
要比較的物件。

傳回值

如果 true 等於目前物件則為 str,否則為 false

備註

這個方法相當於靜態 String::CompareOrdinal 。 在第一個多載中,str 參數應該可以轉換成 String^ 物件。

String::GetHashCode 方法

傳回這個執行個體的雜湊碼。

語法

virtual override int GetHashCode();

傳回值

這個執行個體的雜湊碼。

String::IsEmpty 方法

指出目前 String 物件是否為空。

語法

bool IsEmpty();

傳回值

true如果目前的 String 物件為 null 或空字串 (L「」),則為 false 否則為 。

String::IsFastPass 方法

指出目前的 String 物件是否參與 快速傳遞 作業。 在快速傳遞作業時,參考計數會暫停。

語法

bool IsFastPass();

傳回值

true 如果目前的 String 物件是快速過去,則為 ,否則為 false

備註

在呼叫函式時如果參考計數的物件是參數,而被呼叫的函式只讀取該物件,則編譯器可以安全地暫停參考計數,改善呼叫效能。 您的程式碼不需要處理這個屬性, 系統會處理所有的細節。

String:: length 方法

擷取目前 String 物件中的字元數。

語法

unsigned int Length();

傳回值

目前 String 物件中的字元數。

備註

String 的長度,其中沒有字元為零。 以下字串的長度為 5:

String^ str = "Hello";
int len = str->Length(); //len = 5

String::D ata 傳回的 字元陣列有一個額外的字元,也就是終止的 Null 或 '\0'。 這個字元的長度也是兩個位元組。

String:: operator + 運算子

將兩 個 String 物件串連至新的 String 物件。

語法

bool String::operator+( String^ str1, String^ str2);

參數

str1
第一個 String 物件。

str2
第二個 String 物件,其內容將會附加至 str1

傳回值

true如果 str1 等於 str2 ,則為 ,否則為 false

備註

這個運算子會建立 String^ 物件,其中包含這兩個運算元的資料。 當極端的效能不重要時,可基於方便的理由使用它。 在函式中呼叫 "+" 幾次可能不會被注意到,但是,如果您在緊密迴圈中操作大型物件或文字資料,請使用標準 C++ 機制和類型。

String::operator== 運算子

指出兩個指定的 String 物件是否具有相同的文字值。

語法

bool String::operator==( String^ str1, String^ str2);

參數

str1
要比較的第一個 String 物件。

str2
要比較的第二個 String 物件。

傳回值

true 如果 的內容 str1 等於 str2 ,則為 ,否則為 false

備註

這個運算子相當於 String::CompareOrdinal

String::operator>

指出一個 String 物件的值是否大於第二 String 個物件的值。

語法

bool String::operator>( String^ str1, String^ str2);

參數

str1
第一個 String 物件。

str2
第二個 String 物件。

傳回值

如果 true 的值大於 str1 的值,則為 str2,否則為 false

備註

這個運算子相當於明確呼叫 String::CompareOrdinal 並取得大於零的結果。

String::operator>=

指出一個 String 物件的值是否大於或等於第二 String 個物件的值。

語法

bool String::operator>=( String^ str1, String^ str2);

參數

str1
第一個 String 物件。

str2
第二個 String 物件。

傳回值

如果 true 的值大於或等於 str1 的值,則為 str2,否則為 false

String::operator!=

指出兩個指定的 String 物件是否有不同的值。

語法

bool String::operator!=( String^ str1, String^ str2);

參數

str1
要比較的第一個 String 物件。

str2
要比較的第二個 String 物件。

傳回值

如果 true 不等於 str1,則為 str2,否則為 false

String::operator<

指出一個 String 物件的值是否小於第二 String 個物件的值。

語法

bool String::operator<( String^ str1, String^ str2);

參數

str1
第一個 String 物件。

str2
第二個 String 物件。

傳回值

true如果 str1 的值 小於 str2 的值 ,則為 , false 否則為 。

String::String 建構函式

使用輸入字串資料的複本,初始化 類別的新實例 String

語法

String();
String(char16* s);
String(char16* s, unsigned int n);

參數

s
初始設定字串的一系列寬字元。 char16

n
用以指定字串長度的數值。

備註

如果效能很重要,而且您可以控制來源字串的存留期,您可以使用 Platform::StringReference 取代 String。

範例

String^ s = L"Hello!";

String::ToString

String 回 物件,其值與目前字串相同。

語法

String^ String::ToString();

傳回值

String物件,其值與目前字串相同。

另請參閱

平台命名空間