位置:首頁 > 軟件操作教程 > 編程開發(fā) > C# > 問題詳情

C# 結(jié)構(gòu)函數(shù)

提問人:劉團(tuán)圓發(fā)布時間:2020-12-04

    結(jié)構(gòu)類型可在一個地方存儲多個數(shù)據(jù)元素,但實(shí)際上結(jié)構(gòu)可以做的工作遠(yuǎn)不止這一點(diǎn)。例如,除了數(shù)據(jù),結(jié)構(gòu)還可以包含函數(shù)。這初看起來很奇怪,但實(shí)際上是非常有用的。例如,考慮以下結(jié)構(gòu):

struct CustomerName

{

    public string firstName, lastName;

}

    如果變量類型是CustomerName,并且要在控制臺上輸出一個完整的姓名,就必須使用姓、名構(gòu)成該姓名。例如,對于CustomerName變量myCustomer,可以使用下述語法:

    CustomerName myCustomer; 

    myCustomer.firstName = "John"; 

    myCustomer. lastName = "Franklin";

    WriteLine($"{myCustomer.firstName} {myCustomer.lastName}");

把函數(shù)添加到結(jié)構(gòu)中,就可以集中處理常見任務(wù),從而簡化這個過程??梢园押线m的函數(shù)添加到結(jié)構(gòu)類型中,如下所示:

struct CustomerName 

{

    public string firstName, lastName;

    public string Name() => firstName + " " + lastName;

}

該關(guān)鍵字不是結(jié)構(gòu)函數(shù)所需的。這個函數(shù)的用法如下所示:

    CustomerName myCustomer; 

    myCustomer.firstName = "John"; 

    myCustomer.lastName = "Franklin";

    WriteLine(myCustomer.Name());

這個語法比前面的語法簡單得多,也更容易理解。注意,NameO函數(shù)可以直接訪問firetName和lastName結(jié)構(gòu)成員。在CustomerName結(jié)構(gòu)中,它們可以被看成全局成員。

繼續(xù)查找其他問題的答案?

相關(guān)視頻回答
回復(fù)(0)
返回頂部